是的,case语句的顺序 做 的事情。第一个匹配行将是返回的行。
因此,此语句:
(CASE WHEN phone = '(202) 555-5555' AND last_name = 'Smith' and first_name = 'John' THEN 1 WHEN phone = '(202) 555-5555' AND last_name = 'Smith' THEN 2 WHEN phone = '(202) 555-5555' THEN 3 END)
可以返回1、2或3(或
NULL)。以下内容将始终返回3(或
NULL),因为将永远不会处理最后两个条件:
(CASE WHEN phone = '(202) 555-5555' THEN 3 WHEN phone = '(202) 555-5555' AND last_name = 'Smith' THEN 2 WHEN phone = '(202) 555-5555' AND last_name = 'Smith' and first_name = 'John' THEN 1 END)



