年份根据当前年份动态变化

aze*_*555 0 sql t-sql sql-server

我想知道是否可以查询日期年份根据当前年份动态变化,月份和日期保持不变.例如,如果当前年份是2017年,我希望查询获取日期在2017-09-15和2018-03-15之间的行.

提前致谢.

Joh*_*tti 6

如果是2012+,你可以使用datefromparts()

Select DateR1 = DateFromParts(Year(GetDate()),9,15)
      ,DateR2 = DateAdd(MONTH,6,DateFromParts(Year(GetDate()),9,15))
Run Code Online (Sandbox Code Playgroud)

返回

DateR1        DateR2
2017-09-15    2018-03-15
Run Code Online (Sandbox Code Playgroud)

所以在一个地方

...
Where DateCol between DateFromParts(Year(GetDate()),9,15)
                  and DateAdd(MONTH,6,DateFromParts(Year(GetDate()),9,15))
Run Code Online (Sandbox Code Playgroud)