【发布时间】:2010-08-04 19:03:25
【问题描述】:
所以我需要更新 Oracle 数据库上的一些日期,该字段是日期时间,但我只想更新日期并保持时间不变...查询如下:
update table
SET field = to_date('07312010','MMDDYY');
但它覆盖了现场的小时、分钟和秒,我想更新日期但我希望小时保持不变,有什么想法吗?
【问题讨论】:
所以我需要更新 Oracle 数据库上的一些日期,该字段是日期时间,但我只想更新日期并保持时间不变...查询如下:
update table
SET field = to_date('07312010','MMDDYY');
但它覆盖了现场的小时、分钟和秒,我想更新日期但我希望小时保持不变,有什么想法吗?
【问题讨论】:
你可以使用:
UPDATE TABLE
SET field = TO_DATE('07312010' || ' ' || TO_CHAR(field, 'HH24:MI:SS'),
'MMDDYY HH24:MI:SS');
【讨论】:
在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')
【讨论】:
starttime 这样的时间字段...