SQL删除值包括NULL

时间:2016-12-07 11:46:29

标签: sql sql-server

我想删除所有没有备注的记录作为'无效的流程' &安培;其他2个条件如下代码: -

 DELETE FROM Entry WHERE EmployeeId = 474 AND Entry_Date = '2016-10-01' 
 AND Remarks <> 'Invalid Process'

但问题是它不会删除以NULL为值的记录。我想删除除备注以外的所有内容作为&#39;无效的流程&#39;。

2 个答案:

答案 0 :(得分:10)

添加IS NULL条件。 <>运算符无法检查NULL

 DELETE FROM Entry WHERE EmployeeId = 474 AND Entry_Date = '2016-10-01' 
 AND (Remarks <> 'Invalid Process' or Remarks IS NULL)

答案 1 :(得分:0)

您无法使用运算符'&lt;&gt;'在考虑NULL时。此行为在ANSI SQL-92标准中定义。

使用标准语法检查NULL - "IS NULL"

DELETE FROM Entry WHERE EmployeeId = 474 AND Entry_Date ='2016-10-01'  AND(备注IS NULL或备注&lt;&gt;'无效流程')