如果当前日期为空,则从30天前返回日期

时间:2014-12-10 15:19:11

标签: sql sql-server sql-server-2008

我有一个DATETIME字段可能为空。如果该字段为空,我想从30天前返回日期。我尝试过以下方法:

SELECT ISNULL(lastupdatedatetime, GETDATE() - 30) from .......

SELECT CASE WHEN lastupdatedatetime is null then GETDATE() - 30 ELSE lastupdatedatetime from ....

在这两种情况下,我都会收到2000-01-01 00:00:00:000

GETDATE()为空时,如何从lastupdatedatetime获取我想要的结果?

1 个答案:

答案 0 :(得分:1)

试试这个:

SELECT (CASE WHEN lastupdatedatetime is null then DATEADD(day,-30,GETDATE()) ELSE lastupdatedatetime from ..

这应该有效。