写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。内容未经允许不得转载,或转载时需注明来源: 快上网