SQL语句条件为空值

我需要写一条DELETE的SQL语句,条件是当“到样日期”跟“领用时间”为空,“出库时间”不为空时删除记录。
本人很急,先谢谢各位大哥了!

方法一:

select * from usertable 

where (name=@name and page=@page ) or name is null or page is null

方法二:

SELECT * FROM usertable WHERE name=ISNULL(NULLIF(@name,''),name) AND page=ISNULL(NULLIF(@page,''),page)

方法三:

select * from tb where (@name id null or name=@name ) and (page is null or page=@page )

扩展资料:

SQL中时间为空的处理小结

1、如果不输入null值,当时间为空时,会默认写入"1900-01-01",在业务处理时很麻烦。

ctrl+0即可输入NULL值。

2、用case进行查询,若写成:

select (case DateTime1 when NULL then 'a' else 'b' end) from TestTable

则查询结果为:

b

b

b

这显然不是想要的结果;需要写成:

select (case DateTime1 when DateTime1 then 'b' else 'a' end) from TestTable

其查询结果才为:

b

a

b

这才是想要的结果。

温馨提示:内容为网友见解,仅供参考
第1个回答  2010-07-24
DELETE *
FROM tableName
WHERE (到样日期 IS NULL)
AND (领用时间 IS NULL)
AND (出库时间 IS NOT NULL)本回答被提问者采纳
第2个回答  2010-07-24
where 到样日期 IS null and 出库时间 Is not null
相似回答