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...)日付の時間部分を切り捨てるため、午前 0 時に「丸め」、DATEADD(hh,10...)10 時間を追加します。

デモ

于 2013-01-07T15:39:21.563 に答える
1

DATEADD他の答えより1つ少ない:

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 に答える
1

これを試してください:

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

于 2013-01-07T15:39:12.610 に答える
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 に答える