Expiry DateEnd
None 2000-06-29 00:00:00.000
None 2000-06-29 00:00:00.000
september 2013 2013-06-29 00:00:00.000
January 2012 2013-06-29 00:00:00.000
May 2020 2013-06-29 00:00:00.000
2013-06-29 00:00:00.000 2013-06-29 00:00:00.000
由于未来日期,我想从两列中选择除 2020 年 5 月行之外的所有日期。这就是我到目前为止所拥有的
DECLARE @YearFlag datetime
SET @YearFlag = DATEADD(yy,-5,GETDATE())
SELECT *
FROM #Table
WHERE (DateEnd IS NULL OR DateEnd = '' OR DateEnd <= @YearFlag)
OR (CHARINDEX(Convert(varchar, YEAR(GETDATE())),Expiry) > 0)
正在使用低于一个来选择 2012 年 1 月的行但出现错误
OR (Expiry != 'none' AND Expiry <= GETDATE())