Sql 在特定时间插入明天的日期

Sql 在特定时间插入明天的日期,sql,sql-server-2008,sql-server-2005,Sql,Sql Server 2008,Sql Server 2005,我正在尝试将明天的日期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 试试这个: DATEADDhh,34,DATEDIFFdd,0,GETDATE试试这个: DATEADDhh,34,

我正在尝试将明天的日期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
试试这个:

DATEADDhh,34,DATEDIFFdd,0,GETDATE

试试这个:


DATEADDhh,34,DATEDIFFdd,0,GETDATE

您可以使用DATEADD和DATEDIFF的组合

DATEDIFFdd,0。。。截断日期的时间部分,因此舍入到午夜和DATEADDhh,10。。。增加10小时


您可以结合使用DATEADD和DATEDIFF

DATEDIFFdd,0。。。截断日期的时间部分,因此舍入到午夜和DATEADDhh,10。。。增加10小时

一个答案比其他答案少:

SELECT DATEADD(day,DATEDIFF(day,'20010101',GETDATE()),'2001-01-02T10:00:00')
这将从2001年1月1日起的整数天数添加到2001年1月2日上午10点。

一个日期添加比其他答案少:

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

这将从2001年1月1日起的整数天数添加到2001年1月2日上午10点。

这将在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 

这将在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 

@TimSchmelter-是的,在我添加解释时在编辑中更正:-@TimSchmelter-是的,在我添加解释时在编辑中更正:-谢谢!你也可以用GetDate+1代替DATEADDdd,1,GetDate来缩短它。谢谢!您还可以使用GetDate+1代替DATEADDdd,1,GetDate来缩短它