在SQL Server中添加+ - 1年

use*_*103 11 sql sql-server sql-server-2008

我尝试选择当前年份在+1和-1之间的年份模型的产品.我只希望年份(2011年)不是完整的日期和时间.

SELECT ProductName FROM tblProduct WHERE Year BETWEEN 
year(getdate()+1) AND year(getdate()-1)
Run Code Online (Sandbox Code Playgroud)

不起作用,但类似的东西可能......

Seb*_*Piu 14

您要将1添加到getdate(),以便添加1天

   SELECT ProductName FROM tblProduct WHERE Year BETWEEN 
    (year(getdate()) -1) AND (year(getdate()) + 1)
Run Code Online (Sandbox Code Playgroud)


小智 14

SELECT dateadd(year, -1, getdate())
Run Code Online (Sandbox Code Playgroud)

会做:

SELECT productname 
FROM tblproduct 
WHERE [year] between (select dateadd(year, -1, getdate()) AND (select dateadd(year, +1, getdate())
Run Code Online (Sandbox Code Playgroud)