1

我正在尝试将明天 10:00:00 的日期插入 SQL Server 2005/2008。

我目前有

DATEADD(dd, 1, GETDATE()) 

这让我明天的日期很好,但是我尝试了多种方法来连接/设置时间10:00:00

例子:

Current Time: 2013-01-07 15:37:05
Required Insert Date: 2013-01-08 10:00:00
4

4 回答 4

4

您可以使用DATEADD和的组合DATEDIFF

SELECT DATEADD(hh,10, DATEDIFF(dd,0, DATEADD(dd, 1, GetDate())))

DATEDIFF(dd,0...)截断日期的时间部分,因此“四舍五入”到午夜并DATEADD(hh,10...)增加 10 小时。

演示

于 2013-01-07T15:39:21.563 回答
1

试试这个:

DATEADD(hh,34,DATEDIFF(dd,0,GETDATE()))

于 2013-01-07T15:39:12.610 回答
1

DATEADD比其他答案少一个:

SELECT DATEADD(day,DATEDIFF(day,'20010101',GETDATE()),'2001-01-02T10:00:00')

这会将自 2001 年 1 月 1 日以来的(整数)天数添加到 2001 年 1 月 2 日上午 10 点。

于 2013-01-07T15:43:04.070 回答
0

这将在 Oracle 中工作 - 第二天上午 10 点返回:

Select to_char((trunc(Sysdate)+1)+10/24, 'yyyy-mm-dd hh24:ss:mi') insert_date
 From dual
 /

 SQL> 2013-01-08 10:00:00 
于 2013-01-07T16:25:28.210 回答