注意细节:SQL语句中的布尔表达式
2007-11-11 12:39:06 来源:WEB开发网核心提示:我们写SQL语句有时希望SQL表达式能够返回TRUE或者FALSE,却常常忽略了第三个值UNKNOWN,注意细节:SQL语句中的布尔表达式,由于不注意判断返回的值有时会导致错误的结果, UNKNOWN与TRUE和FALSE做AND、OR运算返回的结果有一些差异
我们写SQL语句有时希望SQL表达式能够返回TRUE或者FALSE,却常常忽略了第三个值UNKNOWN。由于不注意判断返回的值有时会导致错误的结果, UNKNOWN与TRUE和FALSE做AND、OR运算返回的结果有一些差异,来看一个小小的测试:1.AND操作ANDTRUEFALSEUNKTRUE FALSE UNK 2.OR操作ORTRUEFALSEUNKTRUE FALSE UNK 如果你已经有了答案,不妨跟微软工程师们给出的答案对照一下吧:ANDTRUEFALSEUNKTRUETRUE FALSEUNKFALSEFALSE FALSEFALSEUNKUNK FALSEUNKORTRUEFALSEUNKTRUETRUETRUETRUEFALSETRUEFALSEUNKUNKTRUEUNKUNK参见:Microsoft SQL ISV Program Management Team
[]
更多精彩
赞助商链接