我需要将datetime变量从现在开始设置为两天,但时间部分必须为18:00。
例如,如果我getdate()现在打电话,我会得到2010-05-17 13:18:07.260。我需要将其设置为2010-05-19 18:00:00.000。
getdate()
2010-05-17 13:18:07.260
2010-05-19 18:00:00.000
是否有人对此有很好的摘录,或者有任何想法正确地做到这一点?
SELECT DATEADD(hh, 24 * 2 + 18, DATEADD(dd, DATEDIFF(dd, 0, GETDATE()), 0))
这会截断当前日期,并增加2天18小时(24 * 2 + 18)。
(24 * 2 + 18)
可能的变化:
SELECT DATEADD(hh, 18, DATEADD(dd, DATEDIFF(dd, -2, GETDATE()), 0))