Sql Server比较行为

时间:2014-04-11 18:02:47

标签: sql sql-server tsql

我觉得这很难测试/研究所以我问:在OR类似于where (1 = 1) OR (column1 = @value)条件下,第二部分,例如:column1 = @value是否会被测试?如果可能请提供文件......

1 个答案:

答案 0 :(得分:0)

根据MladenPrajdić的这篇文章,答案是否定的,SQL Server不会对OR条件进行短路:

http://weblogs.sqlteam.com/mladenp/archive/2008/02/25/How-SQL-Server-short-circuits-WHERE-condition-evaluation.aspx

另请参阅this post.

如果订单对您很重要,您可以使用CASE WHEN声明。 SQL Server始终按顺序评估CASE WHEN条件。