1

我有一个日期,我想把它四舍五入到第二天。

例如

SomeDate DATETIME,
NewDate DATETIME

SomeDate = '01/05/2012 8:00:0 PM'
NewDate = Get the next day value here (in this sample it would be '01/05/2012 8:00:0 PM' + 4 Hours which is '02/05/2012 00:00:00 AM')

简而言之,我想要的是:

NewDate = '02/05/2012 00:00:00 AM'

有什么快速的方法吗?

谢谢!

4

3 回答 3

4

这应该有效:

SELECT DATEADD(Day, DATEDIFF(Day, 0, SYSDATETIME()), 1)
于 2013-03-07T21:40:47.507 回答
3

要始终获得第二天,您可以执行以下操作:

SELECT DATEADD(day, 1, CAST(@date As Date))

如果您想将DateTime值“四舍五入”到最接近的一整天,您可以执行以下操作:

SELECT 
   CASE WHEN CAST(@date As Time) < '12:00' THEN 
       CAST(@date As Date) 
   ELSE 
       DATEADD(day, 1, CAST(@date As Date))
   END
于 2013-03-07T22:04:08.460 回答
2

明天

Select DateAdd(day, Datediff(day, 0, getdate()) +1, 0)

从今天开始的月份:

Select Dateadd(month, 1, Dateadd(Day, Datediff(day, 0, getdate()), 0))
于 2013-03-07T21:41:14.680 回答