sql case when若条件重复 执行的顺序
在 SQL 中,如果你在 CASE 表达式中定义了多个 WHEN 子句,并且这些条件有重叠,那么 CASE 表达式的执行顺序遵循以下规则:
(1)从上到下:SQL 引擎会按照 CASE 表达式中 WHEN 子句出现的顺序,从上到下依次检查每个条件。
(2)首次匹配:一旦遇到一个条件为真的 WHEN 子句,SQL 将返回对应的 THEN 后面的结果,并立即停止评估其他 WHEN 子句。即使后续的 WHEN 子句条件也满足,也不会被考虑。
(3)不处理重复:如果有多个 WHEN 子句的条件相同或重叠,只有第一个匹配的条件会被执行。后续具有相同条件的 WHEN 子句将被忽略。