【发布时间】:2019-08-26 19:21:31
【问题描述】:
我正在对日期字段执行相当简单的计算,如果日期早于预定义日期,我想返回 NULL 值。本质上,我正在寻找使用除相等以外的运算符来执行NULLIF 的最有效方法。
下面是我想做的一个例子(显然语法失败):
SELECT
Id,
NULLIF(DATEADD(DAY, -180, SurveyDate),
{LESS THAN} '20190101')
FROM dbo.Vendor
我使用以下查询获得了所需的结果,但它似乎有点笨拙和冗长:
SELECT
Id,
CASE WHEN DATEADD(DAY, -180, SurveyDate) < '20190101'
THEN NULL
ELSE
DATEADD(DAY, -180, SurveyDate)
END
FROM dbo.Vendor
【问题讨论】:
标签: sql-server sql-server-2008-r2