博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于SQL命令中不等号(!=,<>)
阅读量:7287 次
发布时间:2019-06-30

本文共 1024 字,大约阅读时间需要 3 分钟。

比较两个表达式(比较运算符)。当比较非空表达式时,如果左边操作数的数值不等于右边的操作数,则结果为 TRUE;否则结果为 FALSE。如果两个操作数中有一个或者两个都为 NULL,并且 SET ANSI_NULLS 被设置为 ON,则结果为 NULL。如果 SET ANSI_NULLS 被设置为 OFF,则当一个操作数为 NULL 时结果为 FALSE,当两个操作数都为 NULL 时结果为 TRUE。

问题:t-sql操作符中,不等号(!=,<>),查询出来的结果集不包含有当前字段为null的数据?

如下一个表ud_fgdj_jbxx有三个字段ztlx   ,gmlx   ,tslx,有如下数据:

ztlx    gmlx    tslx
--------------------
个体 NULL NULL
内资 02     NULL
内资 NULL    wxqy
内资 02     NULL

使用如下SQL查询的时候不会返回任何结果集

select * from ud_fgdj_jbxx where tslx<>'wxqy'
select * from ud_fgdj_jbxx where tslx!='wxqy'

如果把表的数据变为如下:

ztlx    gmlx    tslx
--------------------
个体 NULL NULL
内资 02     NULL
内资 NULL    wxqy
内资 02     NULL
内资 02     yty
内资 02    
再执行如下SQL查询
select * from ud_fgdj_jbxx where tslx<>'wxqy'
select * from ud_fgdj_jbxx where tslx!='wxqy'

会返回结果集

ztlx    gmlx    tslx
--------------------
内资 02     yty
内资 02    

同时测试slq查询:select * from ud_fgdj_jbxx where tslx<>null

1、SET ANSI_NULLS 被设置为 ON

也不会返回任何结果集

2、SET ANSI_NULLS 被设置为 off

返回tslx不为null 的数据

结论:t-sql操作符中,不等号(!=,<>),查询出来的结果集不包含有当前字段为null的数据

转载于:https://www.cnblogs.com/yongtaiyu/archive/2013/01/16/2863118.html

你可能感兴趣的文章
【小松教你手游开发】【unity实用技能】List列表排序
查看>>
日常工作之Zabbix源码编译,兼容mysql5.6
查看>>
Zabbix分布式监控
查看>>
中兴智能视觉大数据报道:人工智能相当火爆,或将下一个风口
查看>>
OCP 12c最新考试原题及答案(071-3)
查看>>
xdebug+phpstorm(windows)
查看>>
Spring Boot整合Hibernate操作
查看>>
阿里云移动端播放器高级功能---直播时移
查看>>
主动式部署陷阱
查看>>
webx2.0-RundataService学习总结
查看>>
SpringMVC的拦截器(Interceptor)和过滤器(Filter)的区别与联系
查看>>
云计算培训论云计算下的网络安全及措施
查看>>
users表空间在线损坏(不通过RMAN恢复)
查看>>
我在51cto第一篇博客
查看>>
TCP三次握手 和四次挥手
查看>>
基于本地配置文件的vsftpd
查看>>
MFC 对话框添加背景图片
查看>>
javascript中的void运算符语法及使用介绍
查看>>
《从零开始学Swift》学习笔记(Day 18)——有几个分支语句?
查看>>
类-Class
查看>>