如何从sql server 2012中的特定日期检索记录1年prioir

时间:2018-01-05 14:41:46

标签: sql-server

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 /

前一年提取记录

非常感谢任何建议。谢谢。

2 个答案:

答案 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