sql判断字段是否为null,是否为空串

目录

问题现象:

问题分析:

1、判断 null值:

2、判断 空串:

3、判断 空串和null值:

解决方法:

1、判断 null值:

2、判断 空串:

3、判断 空串和null值:


问题现象:

        今天在项目中思考了一个问题:

        如何在sql中判断一个字段是否为 null值?是否为 空串 呢?


问题分析:

        需要注意的是: null值 和 空串 并不是同一个概念!!!!!!

        null值 就是这个字段没有赋值,也就是java中常说的 null ;

        空串 是指这个字段有赋值, 只是该值是一个 空字符串, 也就是java中常说的 空串 .

        既然明白了 这两者的区别之后,那就要给大家介绍一下,如何在sql中判断某个字段 时候为 null 或 空串 了!

        在postgresql数据库、MySQL数据库中, 我们都知道 null值 的字段会显示为 (NULL) ; 而 空串 的字段 则显示为空白(双击该值后,会发现没有任何内容);

1、判断 null值:

        在sql中可以通过 IS NUll 和 IS NOT NULL 来判断一个字段的值是否为 null值;

2、判断 空串:

        在sql之中可以用 '' 或 length() = 0 来表示空串。

3、判断 空串和null值:

        需要把上面提到的1、2、结合起来才能判断出这个条件。


解决方法:

1、判断 null值:

//查询id为 null值 的记录
Select * From table Where IS NULL(id);
Select * From table Where id IS NULL; 
//查询id不为 null值 的记录(即查询有数据的记录,包括空串)
Select * From table Where IS NOT NULL(id);
Select * From table Where id IS NOT NULL; 

2、判断 空串:

//查询id为 空串 的记录
Select * From table Where id = '';
Select * From table Where length(id) = 0;
//查询id不为 空串 的记录(即查询有数据且不为空串的记录)
Select * From table Where id <> '';
Select * From table Where id != '';
Select * From table Where length(id) != 0;
Select * From table Where length(id) > 0; 

//上面的sql其实相当于还加了个隐式条件即(id IS NOT NULL),即
Select * From table Where id <> '' and id IS NOT NULL;
Select * From table Where id != '' and id IS NOT NULL;
Select * From table Where length(id) != 0 and id IS NOT NULL;
Select * From table Where length(id) > 0 and id IS NOT NULL;

3、判断 空串和null值:

//查询id为 空串 和 null​​​​​​​​​​​​​​ 的记录
Select * From table Where id = '' OR id ISNULL; 
Select * From table Where length(id) = 0 OR id ISNULL; 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值