日期值的時候,我有以下值,需要硬編碼的時間爲一個新值:SQL - 怎樣才能硬編碼在SELECT語句
目前:
2016年10月11日06:00:00.000
新:
2016年10月11日21:00:00.000
由於系統限制,必須使用SELECT語句。
輸入值可以是任何小時,分鐘或秒(00:00:00至23:59:59),但輸出值應始終的21點00分00秒
日期值的時候,我有以下值,需要硬編碼的時間爲一個新值:SQL - 怎樣才能硬編碼在SELECT語句
目前:
2016年10月11日06:00:00.000
新:
2016年10月11日21:00:00.000
由於系統限制,必須使用SELECT語句。
輸入值可以是任何小時,分鐘或秒(00:00:00至23:59:59),但輸出值應始終的21點00分00秒
我計算出來與以下語句:
CONVERT(日期時間,LEFT(CONVERT(nvarchar的(20),dateCreated會,20),10)+' 09: 00:00' ,120)AS DateCreatedHardCoded
分拆下:
您可以使用dateadd在datetime中添加小時。
E.g.
select dateadd(hh, 15, '2016-10-11 06:00:00.000'); -- output 2016-10-11 21:00:00.000
select dateadd(HOUR, 15, '2016-10-11 06:00:00.000') as new,
TO_DATE('2016-10-11 06:00:00.000') AS current
我建議這樣的:
select dateadd(hour, 21, cast(datecol as date))
cast(datecol as date)
刪除時間組件。 dateadd()
然後增加21個小時的日期。
select SUBSTRING(CAST(Currently AS varchar),0,11)+' 21:00:00.000' AS New from tableName
謝謝,我已經更新了這個問題。 –
你想在今天的日期計算'21:00:00'嗎? ('選擇DateAdd(小時,21,Cast(Cast(GetDate()作爲Date)作爲DateTime))') – HABO