Обновлять только дату в поле datetime в Pl / SQL - PullRequest
6 голосов
/ 04 августа 2010

Так что мне нужно обновить некоторые даты в базе данных Oracle, поле представляет собой дату и время, но я только хочу, чтобы дата обновлялась и оставляла время как есть ... Запрос выглядит так:

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

Но он переопределяет часы, минуты и секунды с поля, я хочу обновить дату, но я хочу, чтобы час остался прежним, какие-либо мысли?

Ответы [ 2 ]

19 голосов
/ 04 августа 2010

Вы можете использовать:

UPDATE TABLE
   SET field = TO_DATE('07312010' || ' ' || TO_CHAR(field, 'HH24:MI:SS'),
                       'MMDDYY HH24:MI:SS');
0 голосов
/ 26 апреля 2017

В 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')   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...