2017-04-25 31 views
0

我需要更改存儲在Date變量中的數據的小時值。這在Oracle中可能嗎?如何更改Oracle Date變量中存儲的小時值?

+0

[Oracle日期]的可能的複製(HTTP :// stackoverflow.com/questions/187474/oracle-date) –

+0

我想你必須更新完整的值。 –

+0

它被存儲爲一個單一的值,日/時間 - 只是使用UPDATE語句。如果你懶,你可以使用SQL Developer的日期編輯器 - 它有一個小時字段,你可以向上或向下切換。 – thatjeffsmith

回答

0

甲骨文設置

CREATE TABLE your_table (value DATE); 

INSERT INTO your_table VALUES (SYSDATE); 

1小時加入日期

UPDATE your_table 
SET value = value + INTERVAL '1' HOUR; 

改變時到早上8(不改變年/月/日/分鐘/秒):

UPDATE your_table 
SET value = value + NUMTODSINTERVAL(
         8 - EXTRACT(HOUR FROM CAST (value AS TIMESTAMP)), 
         'HOUR' 
        ); 

要設定時間到新的時間

更改從當前值到14:56:27時間:

UPDATE your_table 
SET value = TO_DATE(
       TO_CHAR(value, 'yyyy-mm-dd') || ' 14:56:27', 
       'yyyy-mm-dd hh24:mi:ss' 
      ) 

UPDATE your_table 
SET value = TRUNC(value) + INTERVAL '14:56:27' HOUR TO SECOND;