sql数据库查询中,空值查询条件怎么写?

我用where itemno='NULL',where itemno NULL,where itemno='',和where itemno=' ' ,这几种查询条件都没有结果,应该怎么弄呢?

1、首先需要创建数据库表t_user_info,利用创建表SQL语句create table。

2、向数据库表里插入数据,按照插入SQL语句insert into 执行。

3、插入完毕后,查询数据库表记录select 字段 from table。

4、查询数据库表t_user_info用户地址为空的记录select * from table from 字段 is null。

5、查询数据库表t_user_info用户电话不为空的记录,select * from table where 字段 is not null。

6、查询数据库表t_user_info电话不为空且地址为空的记录,select * from table where 字段 is not null and 字段 is null。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-14

在MS SQL Server和Oracle这两个主要的数据库中,空值都比较特殊,不能直接用"="或"<>"号来比较,如果你要用这两个符号比较,就会发现,空值即不在等于的集内,也不在不等于的集内。


特别注意的是,空值用“<>”(不等于)比较时,也不在集合内!具体的你自已测试一下就明白了。


常见的做法是用"IS NULL"或“IS NOT NULL”来确定是不是空值。比如你的情况应该改写语句为:

where itemno IS NULL

第2个回答  2014-01-24
什么数据库?
sqlserver有isnull()函数,
可以直接写成
where isnull(itemno,'')=''追问

sql server 2000

追答

那直接这样写就可以了,包括你说的这几种情况

本回答被提问者和网友采纳
第3个回答  2014-01-24
select * from table where itemno='' *这个就是表示此字段没有任何值
select * from table where itemno is null  *这个就是表示此字段值为null

 你查询语句是不是还有其它的条件,若有,找找其它条件是不是下错了。

第4个回答  2019-12-22
一般需要传输,审核,对比,通过,才肯提交,就可能查询了
相似回答