如何在前10年的第一天到今天的日期的SQL中查找日期

时间:2019-07-04 20:02:06

标签: sql-server tsql

我写了一个查询,我需要获取过去10年即(01/01/2009)到今天(07/04/2019)的数据。但是我写的查询返回的日期是07/04/2009。

这是我编写的代码:

(SELECT DATEADD(YEAR,-10,GETDATE()))

我如何使它起作用,以便它可以将2009年1月1日的日期返回到今天的日期。

(SELECT DATEADD(YEAR,-10,GETDATE()))

我希望结果能从01/01/2009到07/04/2019

2 个答案:

答案 0 :(得分:1)

您也可以使用零件功能中的日期。

select dateadd(year, -10, datefromparts(year(getdate()),1,1))

输出:

2009-01-01

答案 1 :(得分:0)

您可以使用:

SELECT GETDATE(),  -- current date
 DATEADD(yy, DATEDIFF(yy, 0, DATEADD(YEAR,-10,GETDATE())), 0) -- 1st day of year 10 years ago

db<>fiddle demo