sql-server – SQL Server CASE语句是否评估所有条件或在第一个T
发布时间:2021-05-22 16:42:21 所属栏目: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. (编辑:天瑞地安资讯网_保定站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 实体框架 – 具有多个数据库/ DbContext的EF代码优先迁移
- .net – 为什么这个DataAdapter不会将行插入数据库?
- sql-server – 将SQL Server实例根目录放在单独的驱动器上是
- sql-server – 使用AlwaysOn功能的无SAN的高可用SQL Server
- sql – 使用逗号分隔符将单列数据拆分为SSIS中的多个列
- sql – 如何组合来自两个存储过程调用的结果集?
- 浅谈简单的sql查询语句,你都知道哪些?
- sql-server – 从未知来源恢复备份的安全隐患?
- sql-server – 收缩Sql Server数据库
- sql – 按顺序更改分组列值来分组数据
站长推荐
- sql – 如何找到SSIS 2008 R2包中使用的.NET框架
- 什么SQL查询或视图将显示“动态列”
- sql-server – 在我的本地计算机上通过SQL Serve
- sql-server – 将参数传递给TADOStoredProc(Delp
- wcf – 如何从自定义位置读取app.config,即从.NE
- SQL Server:从VARCHAR(MAX)字段替换无效的XML字
- sql-server – 如何查找包含进程ID,进程名称,登录
- sql-server-2005 – 如何在SQL Server 2005中撤消
- 为什么我得到“数据映射错误的[SQL0802]数据转换
- sql-server – 为什么DELETE会对性能产生影响?
热点阅读

