位置: 编程技术 - 正文

SQL 复合查询条件(AND,OR,NOT)对NULL值的处理方法(sql复合语句)

编辑:rootadmin
NULL值影响查询条件的结果,并且结果很微妙。

以下是SQL中AND,OR,NOT的真值表。

表1 AND的真值表

推荐整理分享SQL 复合查询条件(AND,OR,NOT)对NULL值的处理方法(sql复合语句),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:sql复合语句,mysql复合查询语句,sql复合查询语句,mysql复合查询语句,sql复合条件查询,sql复合函数,sql复合查询语句,数据库复合查询语句,内容如对您有帮助,希望把文章链接给更多的朋友!

TRUE

FALSE

NULL

TRUE

TRUE

FALSE

NULL

FALSE

FALSE

FALSE

FALSE

NULL

NULL

FALSE

NULL

表2 OR的真值表

TRUE

FALSE

SQL 复合查询条件(AND,OR,NOT)对NULL值的处理方法(sql复合语句)

NULL

TRUE

TRUE

TRUE

TRUE

FALSE

TRUE

FALSE

NULL

NULL

TRUE

NULL

NULL

表3 NOT的真值表

TRUE

FALSE

NULL

FALSE

TRUE

NULL

当两个以上的查询条件与AND、OR、NOT组合时,NOT的优先级最高,其次是AND,最后是OR。为了避免歧义和确保可移植性最好使用括号。

A BETWEEN B AND C 等价于 (A>=B) AND (A<=C),因此根据真值表可以得出BETWEEN 子句中处理NULL值的规则。

同样,A IN(B,C,D) 等价于 (A=B)OR(A=C)OR(A=D), 根据真值表,只要这三个表达式中有一个为NULL,结果返回肯定是NULL。

因此,BETWEEN子句和IN子句并不增加SQL语句的表达能力。

SQL 中有NULL 值测试,即:字段 IS (NOT) NULL ,但它的返回结果只有两种情况:TRUE或者FALSE。

SQL 中sp_executesql存储过程的使用帮助 摘自SQLserver帮助文档对大家优查询速度有帮助!建议使用sp_executesql而不要使用EXECUTE语句执行字符串。支持参数替换不仅使sp_executesql比EXECUTE更通用,而且

sqlserver Case函数应用介绍 --简单Case函数CASEsexWHEN'1'THEN'男'WHEN'2'THEN'女'ELSE'其他'END--Case搜索函数CASEWHENsex='1'THEN'男'WHENsex='2'THEN'女'ELSE'其他'END这两种方式,可以实现相同的功能。简

sqlserver存储过程中SELECT 与 SET 对变量赋值的区别 SQLServer推荐使用SET而不是SELECT对变量进行赋值。当表达式返回一个值并对一个变量进行赋值时,推荐使用SET方法。下表列出SET与SELECT的区别。请特别注

本文链接地址:https://www.jiuchutong.com/biancheng/349222.html 转载请保留说明!

上一篇:SQL 中 NULL值测试代码(sql null用法)

下一篇:SQL 中sp_executesql存储过程的使用帮助

免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

鄂ICP备2023003026号

网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

友情链接: 武汉网站建设 电脑维修 湖南楚通运网络