Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql 如何防止删除空值?_Tsql_Sql Server 2008 R2 - Fatal编程技术网

Tsql 如何防止删除空值?

Tsql 如何防止删除空值?,tsql,sql-server-2008-r2,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

我目前正在使用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
当我修改上面的脚本时,我的问题出现了

当我这样做时,它不仅删除了“HOLDING”,而且还删除了空行,这是我绝对不希望看到的

请您建议对脚本进行修改,以防止删除空值-我只希望看到值'HOLDING'被删除


非常感谢

您可以尝试解决方法

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

它将转换“where”中的所有空a.workarea,“not in”正确工作

应该注意的是,在where子句中使用ISNULL将阻止在该列中使用索引
AND ISNULL(a.workarea,'') NOT IN ('HOLDING')