我有一个带有日期列的表格。我目前正在使用ISNULL将所有NULL日期值设置为1/1/2001,所以看起来就像这样。
Select ISNULL(DateColumn,'1/1/2001') AS DateColumn, PartNumber
From Table
Where DateColumn < '1/1/1990'
似乎创建的日期'1/1/2001'出现在任何生成的列表中,无论过滤器如何。
有什么建议吗?
答案 0 :(得分:1)
那是因为WHERE
子句正在使用初始DateColumn
值,而是
ISNULL(DateColumn,'1/1/2001')
已执行。
有几种方法可以解决这个问题,其中一种方法是更改where
子句,如下所示:
Where ISNULL(DateColumn,'1/1/2001') < '1/1/1990'
我不确定您的实际情况如何,您可以先检查NULL
值,然后使用子查询过滤结果。
其他解决方案是转换where
子句,如下所示:
Where DateColumn < '1/1/1990' AND DateColumn IS NOT NULL