注意细节:SQL语句中的布尔表达式

王朝mssql·作者佚名  2006-11-24
窄屏简体版  字體: |||超大  

我们写SQL语句有时希望SQL表达式能够返回TRUE或者FALSE,却常常忽略了第三个值UNKNOWN。由于不注意判断返回的值有时会导致错误的结果, UNKNOWN与TRUE和FALSE做AND、OR运算返回的结果有一些差异,来看一个小小的测试:

1.AND操作

ANDTRUEFALSEUNK TRUE FALSE UNK

2.OR操作

ORTRUEFALSEUNK TRUE FALSE UNK

如果你已经有了答案,不妨跟微软工程师们给出的答案对照一下吧:

ANDTRUEFALSEUNK TRUETRUE FALSEUNK FALSEFALSE FALSEFALSE UNKUNK FALSEUNK ORTRUEFALSEUNK TRUETRUETRUETRUE FALSETRUEFALSEUNK UNKTRUEUNKUNK

参见:Microsoft SQL ISV Program Management Team

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航