SQL Server 2012
我创建了一个临时表,其中包含日期列,格式为yyyy / mm / dd
我正在寻找一种方法,从日期为2017年1月1日的临时表中按日期记录记录。我知道使用getdate从当前日期拉-1,但我不确定如何使用过去的日期来解决这个问题。
最初我使用以下内容:
SELECT *
from #participants_temp
where ERSEFFDT < '2017-01-01'
and ERSEFFDT <> '0000-00-00'
但我很快意识到我有大量的记录。我需要在2017/01/01 /
前一年提取记录非常感谢任何建议。谢谢。
答案 0 :(得分:1)
尝试以下任何一种方法
SELECT
*
FROM #participants_temp
WHERE ERSEFFDT BETWEEN '2016-01-01' and '2017-01-01'
或
SELECT
*
FROM #participants_temp
WHERE ERSEFFDT BETWEEN DATEADD(YYYY,-1,'2017-01-01') and '2017-01-01'
答案 1 :(得分:0)
declare @date date = '2017-01-01'
select * from #participants_temp where
ERSEFFDT between dateadd(yy, -1, @date) and @date