我试图将明天的日期在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
答案 0 :(得分:3)
您可以使用DATEADD
和DATEDIFF
的组合。
SELECT DATEADD(hh,10, DATEDIFF(dd,0, DATEADD(dd, 1, GetDate())))
DATEDIFF(dd,0...)
截断日期的时间部分,因此“舍入”到午夜,DATEADD(hh,10...)
会增加10个小时。
答案 1 :(得分:1)
试试这个:
DATEADD(hh,34,DATEDIFF(dd,0,GETDATE()))
答案 2 :(得分:1)
比其他答案少DATEADD
:
SELECT DATEADD(day,DATEDIFF(day,'20010101',GETDATE()),'2001-01-02T10:00:00')
这增加了自2001年1月1日至2001年1月2日上午10点的(整数)天数。
答案 3 :(得分: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