Select 当年的特定日期
Select a specific date for the current year
我有一个查询需要 select {current year}-05-31 00:00:000
。有没有办法 无需 只需将年份连接到该字符串?
这是我当前的查询:
SELECT DATEADD(dd, 30, DATEADD(mm, 4, DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)))
如果您没有性能问题,您可以使用:
DATEADD(YEAR,DATEDIFF(YEAR,CAST('2018-05-31 00:00:000' AS DATETIME), GETDATE()),CAST('2018-05-31 00:00:000' AS DATETIME))
这是不连接年份的解决方案。
HVD 的方法可能是最简单的:
SELECT DATEADD(YEAR,YEAR(GETDATE()) - 2000,'20000531')
在 SQL 2012 年及以后,他们让它变得非常简单。
SELECT DATEFROMPARTS(YEAR(GETDATE()),05,31)
我有一个查询需要 select {current year}-05-31 00:00:000
。有没有办法 无需 只需将年份连接到该字符串?
这是我当前的查询:
SELECT DATEADD(dd, 30, DATEADD(mm, 4, DATEADD(yy, DATEDIFF(yy,0,getdate()), 0)))
如果您没有性能问题,您可以使用:
DATEADD(YEAR,DATEDIFF(YEAR,CAST('2018-05-31 00:00:000' AS DATETIME), GETDATE()),CAST('2018-05-31 00:00:000' AS DATETIME))
这是不连接年份的解决方案。
HVD 的方法可能是最简单的:
SELECT DATEADD(YEAR,YEAR(GETDATE()) - 2000,'20000531')
在 SQL 2012 年及以后,他们让它变得非常简单。
SELECT DATEFROMPARTS(YEAR(GETDATE()),05,31)