Sql server 如何找到2年前的日期
我想找到今天的日期,但应该是2年前。今天的日期是2010年6月12日,但我想要2008年6月12日。如何在SQL server中执行此操作?Sql server 如何找到2年前的日期,sql-server,Sql Server,我想找到今天的日期,但应该是2年前。今天的日期是2010年6月12日,但我想要2008年6月12日。如何在SQL server中执行此操作?选择DateAdd(年份,-2,getdate())选择DateAdd(年份,-2,getdate()) 或 选择DATEADD(yy,-2,GETDATE()) 或 选择DATEADD(yyyy,-2,GETDATE()) 如果要将其存储为变量: DECLARE @twoYearsAgo DATETIME; SELECT @twoYearsAgo = D
选择DateAdd(年份,-2,getdate())
选择DateAdd(年份,-2,getdate())
或
选择DATEADD(yy,-2,GETDATE())
或
选择DATEADD(yyyy,-2,GETDATE())
如果要将其存储为变量:
DECLARE @twoYearsAgo DATETIME;
SELECT @twoYearsAgo = DATEADD(year, -2, GETDATE());
听起来您需要dateadd()函数 2年前的这一刻,你明白了吗 但是,如果你想在2年前开始新的一天,你可以使用
select dateadd(dd,datepart(dd,getdate())-1,dateadd(mm,datepart(mm,getdate())-1,dateadd(yy,datepart(yy,getdate())-1902,0)))
我怀疑有一种更简洁的方式来写这篇文章,但这是我第一次想到的。选择一天开始的子程序实际上就是我要找的。非常感谢!
select dateadd(dd,datepart(dd,getdate())-1,dateadd(mm,datepart(mm,getdate())-1,dateadd(yy,datepart(yy,getdate())-1902,0)))