检索空值:
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的字段,可以插入''