仅更新 Pl/SQL 中日期时间字段的日期
Posted
技术标签:
【中文标题】仅更新 Pl/SQL 中日期时间字段的日期【英文标题】:Update only date on datetime field on Pl/SQL 【发布时间】:2010-08-04 19:03:25 【问题描述】:所以我需要更新 Oracle 数据库上的一些日期,该字段是日期时间,但我只想更新日期并保持时间不变...查询如下:
update table
SET field = to_date('07312010','MMDDYY');
但它覆盖了现场的小时、分钟和秒,我想更新日期但我希望小时保持不变,有什么想法吗?
【问题讨论】:
【参考方案1】:你可以使用:
UPDATE TABLE
SET field = TO_DATE('07312010' || ' ' || TO_CHAR(field, 'HH24:MI:SS'),
'MMDDYY HH24:MI:SS');
【讨论】:
【参考方案2】:在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')
【讨论】:
这个问题具体是关于 datetime 字段的;您的答案中没有像starttime
这样的时间字段...以上是关于仅更新 Pl/SQL 中日期时间字段的日期的主要内容,如果未能解决你的问题,请参考以下文章
如何在 PL SQL 中添加带有 INSERT INTO SELECT 的日期?