SQL语句中布尔表达式不可忽视的部分

写SQL语句时,布尔表达式中的第三个值UNKNOWN往往被我们所忽视,但是这其实是很关键的,下文将带您做一个测试,说明这个问题。

创新互联建站坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计、做网站、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的翠屏网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!

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

来看一个小小的测试:

1
.AND操作

AND TRUE FALSE UNK
TRUE      
FALSE      
UNK      

2
.OR操作

OR TRUE FALSE UNK
TRUE      
FALSE      
UNK      

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

AND TRUE FALSE UNK
TRUE TRUE     FALSE UNK
FALSE FALSE  FALSE FALSE
UNK UNK  FALSE UNK

OR TRUE FALSE UNK
TRUE TRUE TRUE TRUE
FALSE TRUE FALSE UNK
UNK TRUE UNK UNK

【编辑推荐】

自动生成INSERT语句的SQL存储过程

SQL语句中的SELECT DISTINCT

教您用事务一次处理多条SQL语句

通过执行多条SQL语句实现数据库事务

存储过程优化的SQL语句写法

当前名称:SQL语句中布尔表达式不可忽视的部分
网站URL:http://www.csdahua.cn/qtweb/news43/265043.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网