sql-server – SQL Server CASE语句是否评估所有条件或在第一个T
发布时间:2021-05-19 19:17:42 所属栏目: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. (编辑:上饶站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- sql-server – sp_help中的FixedLenNullInSource是什么意思
- 腾讯QQ 2003版可以直接从客户端自动升级
- .net – 数据库本地化 – 查找列表 – 更智能的方式
- sql-server – 如何在SQL Server中合并两个数据库?
- sql-server – 与varchar(255)相比,使用varchar(5000)会不好
- HTML标签marquee实现滚动效果的简单方法(必看)
- 大光圈定焦镜头 佳能RF50mm F1.2 L USM
- 精彩刻不完——昂达全新极光CB52康宝上市
- win8开始菜单不见了 win8恢复开始菜单
- SQL order by子句是否保证稳定(按标准)