我正在开发一个程序,在X发生之后,我将日期设置为次年7月的第一年。
UPDATE dbo.PAY_paymentDetails
SET nextPayment = CASE
WHEN DATEPART(MONTH, dateMade) < 7
AND DATEPART(YEAR, dateMade) = DATEPART(YEAR, GETDATE())
THEN DATEPART(YEAR, DATEADD(YEAR, 1, GETDATE()))
ELSE DATEPART(YEAR, GETDATE() + 1)
END
所以我使用
在当年添加一年SELECT DATEPART(YEAR,DATEADD(YEAR,1,GETDATE())
这导致2017年,但我无法弄清楚如何操纵我的tsql所以给我2017-07-01
答案 0 :(得分:0)
目前,您只从日期部分功能中选择年份。如果您执行类似
的操作SELECT CAST(CAST(DATEPART(YEAR, DATEADD(YEAR, 1, GETDATE())) AS VARCHAR) + '-' + CAST(DATEPART(MONTH,DATEADD(YEAR, 1, GETDATE())) AS VARCHAR) + '-' + CAST(DATEPART(DAY, DATEADD(YEAR, 1, GETDATE())) AS VARCHAR) AS DATE)
那么你就得到了你想要的东西。不是最漂亮的黑客,但它的工作原理。希望它有所帮助..