Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何找到2年前的日期_Sql Server - Fatal编程技术网

Sql server 如何找到2年前的日期

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

我想找到今天的日期,但应该是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 = 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)))