选择当前年份的特定日期

joe*_*yth 2 sql t-sql sql-server-2008-r2

我有一个需要选择的查询{current year}-05-31 00:00:000.有没有办法,我可以做到这一点,而不只是把年份连接到那个字符串?

这是我当前的查询:

SELECT DATEADD(dd, 30, DATEADD(mm, 4, DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)))
Run Code Online (Sandbox Code Playgroud)

Ste*_*han 7

HVD的方法可能是最简单的:

SELECT DATEADD(YEAR,YEAR(GETDATE()) - 2000,'20000531')
Run Code Online (Sandbox Code Playgroud)

在SQL 2012及更高版本中,它们非常简单.

SELECT DATEFROMPARTS(YEAR(GETDATE()),05,31)
Run Code Online (Sandbox Code Playgroud)