sql-server – SQL Server CASE语句是否评估所有条件或在第一个T
发布时间:2021-05-19 09:23:12 所属栏目:MsSql教程 来源:网络整理
导读:SQL Server(2008或2012,特别是)CASE语句是否评估了所有WHEN条件,或者一旦找到评估为true的WHEN子句就退出?如果它确实经历了整个条件集,那是否意味着评估为true的最后一个条件会覆盖评估为true的第一个条件?例如: SELECT CASE WHEN 1+1 = 2 THEN'YES' WHEN
SQL Server(2008或2012,特别是)CASE语句是否评估了所有WHEN条件,或者一旦找到评估为true的WHEN子句就退出?如果它确实经历了整个条件集,那是否意味着评估为true的最后一个条件会覆盖评估为true的第一个条件?例如: SELECT CASE WHEN 1+1 = 2 THEN'YES' WHEN 1+1 = 3 THEN 'NO' WHEN 1+1 = 2 THEN 'NO' END 结果为“是”,即使最后一个条件应该使其评估为“否”.它似乎一旦找到第一个TRUE条件就会退出.有人可以确认是否是这种情况. 解决方法?返回计算结果为TRUE的第一个input_expression = when_expression的result_expression.参考 这是标准的SQL行为: > CASE表达式求值为第一个真实条件.>如果没有真实条件,则评估为ELSE部分.>如果没有真实条件且没有ELSE部分,则计算结果为NULL. (编辑:海西站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- iis-7 – .NET 3.5,IIS 7,SQL Server 2008托管
- Windown 7运行无法打开软件的帮助文件?
- sql – HQL Join – 加入的路径!过冬
- 知名硬件网站授予升技BH7编辑推荐大奖
- join – Access(Jet)SQL:TableB中的DateTime标记位于Table
- SQL Server:只有GROUP BY中的最后一个条目
- sql-server – 如何强制一滴MSSQL Server数据库
- sql-server – 链接服务器问题.无法使用Windows身份验证作为
- sql-server-2008 – 如何将值从动态SQL存储过程返回到实体框
- Windows Media Video 9 VCM最终版发布