SQL SERVER判断一个属性为NULL,出了问题

来源:百度知道 编辑:UC知道 时间:2024/05/26 20:43:56
我在sql 2000下建立了一个表(表名为订购单)
职工号 供应商号 订购单号 订购日期
E3 S7 OR67 2002-06-23
E1 NULL OR62 NULL
我输入语句:
SELECT *
FROM 订购单号
WHERE 供应商号 IS NULL
结果没有任何返回(但是执行正确)

我输入语句
SELECT *
FROM 订购单号
WHERE 供应商号 IS NOT NULL
却返回整个表的内容

按道理只输出相符的元组
望达人告知!
回答1楼的,我试了下
的确显示NULL啊
不知道为什么了???

不会存的'NULL'字符串吧
SELECT * FROM 订购单号 WHERE 供应商号='NULL'
这样查询一下,能查出来,就说明是NULL字符串了。
-----------------------------------
应该不会出现你说的这种情况的,我刚才试了一下,没有问题的,
你用这个:
select * from 订购单号

看一下结果里面“供应商号”字段里的值,有显示为“NULL”的吗?

我估计存的也是NULL字符,而不是真正的没输入数据;
怎么回事?就是你存数据的时候那个NULL是自己打的呗,而不让它空在那的

select * from 订购单号 where innull(供应商号)=false

不要用is null ,改成= null,如果是字符型=''

猜想:NULL 附近可能有空格!

因为该字段定义的是字符串,所以要用单引号。