2010-08-04 61 views
6

因此,我需要更新Oracle數據庫上的某些日期,該字段是日期時間,但我只希望日期更新並保留時間,因爲它存在查詢是這樣的:在Pl/SQL上更新日期時間字段的唯一日期

update table 
    SET field = to_date('07312010','MMDDYY'); 

但它覆蓋的小時,分​​鍾和秒從外地,我想更新的日期,但我想留給小時一樣,有什麼想法?

回答

19

你可以使用:

UPDATE TABLE 
    SET field = TO_DATE('07312010' || ' ' || TO_CHAR(field, 'HH24:MI:SS'), 
         'MMDDYY HH24:MI:SS'); 
+0

非常感謝你,這工作完美! :) – Gotjosh 2010-08-04 20:20:57

-1

在Oracle空白是一個小問題,我修改了它一點點。

/* Formatted on 4/26/2017 5:56:31 AM (QP5 v5.115.810.9015) */ 

UPDATE telco_attendee 
    SET startdate = 
TO_DATE( ( TO_CHAR(startdate, 'DD/MM/YYYY') 
|| 
TO_CHAR(starttime, 'HH24:MI:SS') ) ,'DD/MM/YYYYHH24:MI:SS') 
+0

這個問題特別討厭*** datetime ***字段;在你的*答案中沒有*時間*字段,比如'starttime' * ... – 2017-09-25 11:39:26