SQL - where条件里的!=会过滤值为null的数据
!=会过滤值为null的数据
在测试数据时忽然发现,使用如下的SQL是无法查询到对应column为null的数据的:
select * from test where name != 'Lewis';
本意是想把表里name的值不为Lewis的所有数据都搜索出来,结果发现这样写无法把name的值为null的数据也包括进来。
上面的!=换成<>也是一样的结果,这可能是因为在数据库里null是一个特殊值,有自己的判断标准,如果想要把null的数据也一起搜索出来,需要额外加上条件,如下:
select * from test where name != 'Lewis' or name is null;
虽然这只是个小知识点,不过还是值得记录注意下,以免日后在开发中犯小错误。
null值的比较
这里另外说下SQL里null值的比较,任何与null值的比较结果,最后都会变成null,以PostgreSQL为例,如下:
select null != null;
select null = null;
select null > 1;
select null <> 1;
以上结果都是null,而不是什么true或者false。另外有些函数是不支持null值作为输入参数的,比如count()或者sum()等。
参考链接
SQL - where条件里的!=会过滤值为null的数据的更多相关文章
- .net mvc web api 返回 json 内容,过滤值为null的属性
原文:http://blog.csdn.net/xxj_jing/article/details/49508557 版权声明:本文为博主原创文章,未经博主允许不得转载. .net mvc web ap ...
- C# .net mvc web api 返回 json 内容,过滤值为null的属性
在WebApiConfig.Register 中增加一段 #region 过滤值为null的属性 //json 序列化设置 GlobalConfiguration.Configuration.Form ...
- 练习:将值是null的数据删除掉(剔除):com.fasterxml.jackson.annotation.JsonInclude;包
练习:将值是null的数据删除掉(剔除):com.fasterxml.jackson.annotation.JsonInclude;包 例如,有数据是null,不想展示 { "statusC ...
- .net mvc web api 返回 json 内容时过滤值为null的属性
1.响应内容(过滤前) {"msg":"初始化成功!","code":"","success":tr ...
- SQL多个逗号分开的字段值 取对应的数据名称信息
字段值 函数实现: )) ) as begin set @strs=','+@strs+',' ) ) set @str2='' declare SyncOrderCursor cursor for ...
- 在SQL Server 2016里使用查询存储进行性能调优
作为一个DBA,排除SQL Server问题是我们的职责之一,每个月都有很多人给我们带来各种不能解释却要解决的性能问题. 我就多次听到,以前的SQL Server的性能问题都还好且在正常范围内,但现在 ...
- sql 语句中count()有条件的时候为什么要加上or null
参考:https://blog.csdn.net/qq_32719287/article/details/79513164 1.sql 语句中count()有条件的时候为什么要加上or null. 如 ...
- SQL进价2:三值逻辑和null
1.SQL中的bool类型的值有三种 普通编程语言里的布尔型只有 true 和 false 两个值,这种逻辑体系被称为二值逻辑.而 SQL 语言里,除此之外还有第三个值 unknown,因此这种逻辑体 ...
- WHRER条件里的数据类型必须和字段数据类型一致
首先看案例: 表中字段FPHONE_IMEI是varchar类型的,主键也建立在FPHONE_IMEI 字段上,原则上只要where条件中用到了这个字段,就会走索引,这也是建立索引的目的,可事实是这样 ...
随机推荐
- 在论坛中出现的比较难的sql问题:37(动态行转列 某一行数据转为列名)
原文:在论坛中出现的比较难的sql问题:37(动态行转列 某一行数据转为列名) 所以,觉得有必要记录下来,这样以后再次碰到这类问题,也能从中获取解答的思路.
- springboot整合redis缓存一些知识点
前言 最近在做智能家居平台,考虑到家居的控制需要快速的响应于是打算使用redis缓存.一方面减少数据库压力另一方面又能提高响应速度.项目中使用的技术栈基本上都是大家熟悉的springboot全家桶,在 ...
- 什么是HTTPS协议
一 HTTPS协议一直是web开发,无论前后端都不可或缺的重要知识点,然而由于历史原因,这个协议和知识点枯燥而繁多,如果看书和文字十分难懂苦涩.但又不得不掌握,怎么办呢? 正好,从朋友小灰那里得到一片 ...
- 基于【 SpringBoot】一 || QQ授权流程
一.准备工作 1.qq开放平台应用申请,获取APP ID和APP Key 2.qq开放平台配置回调地址 二.服务器端生成授权链接 1.请求地址 https://graph.qq.com/oauth2. ...
- React/虚拟DOM
在说虚拟DOM之前,先来一个引子,从输入url到展现出整个页面都有哪些过程? 1.输入网址 2.DNS解析 3.建立tcp连接 4.客户端发送HTPP请求 5.服务器处理请求 6.服务器响应请求 7. ...
- 解决JAVA连接Sybase数据库查询数据乱码的问题
连接字符串加上charset=eucgb&jconnect_version=0例如:jdbc:sybase:Tds:server:port/database?charset=eucgb& ...
- idea 实用插件
尊重劳动成果,本插件的整理原文出自:https://blog.csdn.net/weixin_41846320/article/details/82697818,感谢老铁的辛苦原创. 插件安装方式: ...
- IntelliJ IDEA.2017.3.4(win7 64位)的安装使用
下载 1.Idea与Webstorm同为JetBrains公司的产品,因此安装使用方式也极为相似,首先我们打开IDEA的官方下载网站:https://www.jetbrains.com/idea/,点 ...
- 越狱后cydia无法联网
0x:卸载 cydia installer 1x:卸载后重启手机 2x:再次h3lix
- linux网络编程之socket编程(十二)
今天继续学习socket编程,期待的APEC会议终于在京召开了,听说昨晚鸟巢那灯火通明,遍地礼花,有点08年奥运会的架势,有种冲动想去瞅见一下习大大的真容,"伟大的祖国,我爱你~~~&quo ...