【发布时间】:2011-08-03 22:47:04
【问题描述】:
在 C# 等编程语言中,java 如果一个条件有多个带有 AND(&&) 运算符的表达式,那么只有在第一个表达式为真时才计算第二个表达式。
在 TSQL 中呢?具体来说,这是 Microsoft Sql 服务器中存储过程中的一个条件。
IF (exprA AND exprB)
在上述条件下,如果 exprA 为假,那么 exprB 是否会被评估?
【问题讨论】:
-
“视情况而定”。如果它包含
EXISTS子查询,那么几乎总是短路不会发生。你永远不能指望它发生。您可以嵌套CASE表达式或嵌套IF表达式以保证它。 I have an open bounty on a similar question at the moment如果有人想看一些额外的案例!
标签: sql-server tsql if-statement expression