如何防止NULLS被删除?

时间:2016-08-19 09:27:15

标签: tsql sql-server-2008-r2

我目前正在使用SQL Server 2008R2。

我正在使用这个脚本:

SELECT a.productname, a.orderdate, a.workarea

FROM database1table1 AS a

WHERE a.orderdate >='2016/08/01'

给出了输出:

PRODUCT NAME          ORDER DATE                       WORKAREA

x                                2016/08/07            NULL

y                                2016/08/09            HOLDING

z                                2016/08/10            ACTION

a                                2016/08/12            ACTION

当我将上述脚本修改为

时,我的问题就出现了

...

WHERE a.orderdate >='2016/08/01'

**AND a.workarea NOT IN ('HOLDING')**

当我这样做时,它不仅会删除' HOLDING',而且还会删除NULL行,这是我绝对不想要的。

请您建议对脚本进行修改,以防止移除NULLS - 我只想看到值' HOLDING'拿出来。

非常感谢!

1 个答案:

答案 0 :(得分:0)

您可以尝试解决方法

AND ISNULL(a.workarea,'') NOT IN ('HOLDING')

它会将“not in”中的所有null a.workarea转换为“not in”正常工作