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

检索空值:

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的字段,可以插入''



没有更多推荐了,返回首页

私密
私密原因:
请选择设置私密原因
  • 广告
  • 抄袭
  • 版权
  • 政治
  • 色情
  • 无意义
  • 其他
其他原因:
120
出错啦
系统繁忙,请稍后再试