明日の日付の 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
明日の日付の 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
DATEADD
とを組み合わせて使用できますDATEDIFF
。
SELECT DATEADD(hh,10, DATEDIFF(dd,0, DATEADD(dd, 1, GetDate())))
DATEDIFF(dd,0...)
日付の時間部分を切り捨てるため、午前 0 時に「丸め」、DATEADD(hh,10...)
10 時間を追加します。
DATEADD
他の答えより1つ少ない:
SELECT DATEADD(day,DATEDIFF(day,'20010101',GETDATE()),'2001-01-02T10:00:00')
これは、2001 年 1 月 1 日からの (整数) 日数を 2001 年 1 月 2 日の午前 10 時に加算します。
これを試してください:
DATEADD(hh,34,DATEDIFF(dd,0,GETDATE()))
これは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