SQL之NULL值的几种处理方式
1、创建测试表:
drop table if exists tab_null_operator;
create table tab_null_operator as
select 1 as id,'chavin' as name union all
select 2 as id,'nope' as name union all
select 3 as id,'' as name union all
select 4 as id,'' as name union all
select 5 as id,null as name union all
select 6 as id,null as name union all
select 7 as id,' ' as name union all
select 8 as id,' ' as name union all
select 9 as id,' ' as name union all
select 10 as id,' ' as name
;
2、查看数据:
mysql> select * from tab_null_operator;
+----+--------+
| id | name |
+----+--------+
| 1 | chavin |
| 2 | nope |
| 3 | |
| 4 | |
| 5 | NULL |
| 6 | NULL |
| 7 | |
| 8 | |
| 9 | |
| 10 | |
+----+--------+
10 rows in set (0.00 sec)
小结:从结果我们可以看出,id in (5,6)的两个值是null,id in (1,2)的是字符串,id in (3,4,7,8,9,10)从结果看均是空字符串,实际id in (3,4)是空字符串,id in (7,8)是单个空格字符串,id in (9,10)是\t字符串。
3、查询name为null的记录:
mysql> select * from tab_null_operator where name is null;
+----+------+
| id | name |
+----+------+
| 5 | NULL |
| 6 | NULL |
+----+------+
2 rows in set (0.00 sec)
小结:可以看到只有id in (5,6)的记录name字段才是真正的null。
4、查询name为''的记录信息:
mysql> select * from tab_null_operator where name = '';
+----+------+
| id | name |
+----+------+
| 3 | |
| 4 | |
| 7 | |
| 8 | |
+----+------+
4 rows in set (0.00 sec)
小结:可以看到我们输入的以空格为字符串的值都表现为空字符串。然后\t字符串的缺没有筛选出来。
5、查询\t字符串的数据:
mysql> select * from tab_null_operator where name = ' ';
+----+------+
| id | name |
+----+------+
| 9 | |
| 10 | |
+----+------+
2 rows in set (0.00 sec)
SQL之NULL值的几种处理方式的更多相关文章
- 让索引包含null值的两种方法
1. 把有NULL值的列与一个常数,或者一个带有not null约束的列一同索引 create index ind_01 on t01(col01,1); 或者 create index ind_01 ...
- SQL中NULL值
SQL的表达式,除了IS NULL和NOT NULL以外,只要出现NULL值结果都为FALSE 简单的例子: SELECT * FROM table WHERE name!='abc' 只要name值 ...
- SQL Server NULL值用法及处理详解
用法如下: 1.如果表中的某个列是可选的,那么我们可以在不向该列添加值的情况下插入新记录或更新已有的记录,这意味着该字段将以 NULL 值保存. 2.NULL 用作未知的或不适用的值的占位符. 3.定 ...
- SQL SERVER NULL值和连接注意问题
联接表的列中的 null 值(如果有)互相不匹配.如果其中一个联接表的列中出现空值,只能通过外部联接返回这些空值(除非 WHERE 子句不包括空值). 下面的两个表中,每个表中要参与联接的列中均包 ...
- sql 将Null 值转化成空字符串
当Null + 任何字符串时,都等于Null. 因些用函数IsNull(字段名,''),如果字段名中的值是Null时,那么这个字段名的值是''. 例如::select code + IsNull('- ...
- sql处理null值
IFNULL(expr1,expr2) 如果expr1不是NULL,IFNULL()返回expr1,否则它返回expr2.IFNULL()返回一个数字或字符串值. select (case when ...
- magento 列表页显示产品属性值的几种调用方式
之前有人提到要在列表显示一些特定的属性,除了自带的名字,价格等.因为列表页和产品页都有一个同名的产品对象:$_product,而在产品页,$_product是直接可以用$_product->ge ...
- SQL 多表查询的几种连接方式
--创建数据库 create database GoodsSystem go --使用数据库 use GoodsSystem go --创建商品类型表 create table GoodsType ( ...
- SQL NULL 值【摘自W3C】
SQL NULL 值 本章讲解 IS NULL 和 IS NOT NULL 操作符. NULL 值是遗漏的未知数据.默认地,表的列可以存放 NULL 值. 如果表中的某个列是可选的,那么我们可以在不向 ...
随机推荐
- js将时间戳转换为日期类型
function getLocalTime(nS) { var date = new Date(nS); Y = date.getFullYear() + '年'; M = ( ...
- JAVA进阶13
间歇性混吃等死,持续性踌躇满志系列-------------第13天 1.查看线程的运行状态 package code0327; class Demo01 implements Runnable { ...
- nc工具使用
0x00 功能说明: 功能强大的网络工具,在网络工具中有“瑞士军刀”美誉,其有Windows和Linux的版本.因为它短小精悍,功能实用,被设计为一个简单.可靠的网络工具,可通过TCP或UDP协议传输 ...
- 往服务器部署thinkphp5代码时要注意 pathinfo的问题
往服务器部署thinkphp5代码时要注意 pathinfo的问题 如果nginx没有做任何设置 要使用?s=/的方式访问地址 只需要修改3个地方就可以了,亲测成功,看代码有注解 location ~ ...
- FizzBuzz
写一个程序,输出从 1 到 n 数字的字符串表示. 1. 如果 n 是3的倍数,输出“Fizz”: 2. 如果 n 是5的倍数,输出“Buzz”: 3.如果 n 同时是3和5的倍数,输出 “FizzB ...
- 盒模型、position、float详解css重点汇总
元素类型 HTML 的元素可以分为两种: 块级元素(block level element) 内联元素(inline element 有的人也叫它行内元素) 两者的区别在于以下三点: 块级元素会独占一 ...
- RabbitMQ的Java API编程
1.创建Maven工程,pom.xml引入依赖: <dependency> <groupId>com.rabbitmq</groupId> <artifact ...
- day19模块1
http://www.cnblogs.com/Eva-J/articles/7228075.html#_label10 collections模块: 在内置数据类型(dict.list.set.tup ...
- Tomcat 下4个配置文件详解
Tomcat 的配置文件由4个 xml 文件构成,context.xml.web.xml.server.xml.tomcat-users.xml 这4个文件.每个文件都有自己的功能与配置方法,下列将逐 ...
- MongoDB 及 scrapy 应用
0 1.Scrapy 使用 MongoDB https://doc.scrapy.org/en/latest/topics/item-pipeline.html#write-items-to-mong ...