MySQL中的空值,null检索的问题

原创 2017年06月01日 11:36:07

检索空值:

SELECT * FROM `test` WHERE col1 = ''

检索NULL值:

SELECT * FROM `test` WHERE col1 IS NULL

检索NOT NULL值:

SELECT * FROM `test` WHERE col1 IS NOT NULL

注意:''不是null,所以not null会把''都算进去

检索非空值:

SELECT * FROM `test` WHERE col2<>''

注意:<>'',会同时排除''和null的数据,只检索有内容的数据


1、不为空
Select   *   From   table Where id<>''
Select   *   From   table Where id!=''

2、为空
Select   *   From   table Where id=''
Select   *   From   table Where   ISNULL(id)


总结:
1. null的存储不是'',是其它特殊的字符表示。
2. null在检索<>''的时候,也会被排除,因为没有真正有意义的内容
3. not null严格按照字面意思,''不会被排除。
4. 定义not null的字段,可以插入''



相关文章推荐

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MySQL中的空值,null检索的问题
举报原因:
原因补充:

(最多只允许输入30个字)