您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

SQL CASE:WHEN语句的顺序重要吗?

SQL CASE:WHEN语句的顺序重要吗?

是的,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)
SQLServer 2022/1/1 18:25:36 有415人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶