Oracle9i中如何插入sysdate+1且指定时间为00:30:00的日期时间
Oracle9i 实现次日指定时间(00:30:00)的日期时间更新
有两种可靠的方法可以实现需求,在Oracle9i中均能正常运行:
方法一:日期截断+时间间隔(推荐)
利用TRUNC(SYSDATE + 1)获取次日的00:00:00,再直接加上30分钟的时间偏移量,无需字符串转换,效率更高:
UPDATE table_name SET dvalid = TRUNC(SYSDATE + 1) + INTERVAL '30' MINUTE;
也可以用数值方式表示时间(1天=1,30分钟等于30/1440),效果完全一致:
UPDATE table_name SET dvalid = TRUNC(SYSDATE + 1) + 30/1440;
方法二:字符串拼接转日期
通过字符串拼接次日日期和指定时间,再转换为日期类型,可读性更强:
UPDATE table_name SET dvalid = TO_DATE(TO_CHAR(SYSDATE + 1, 'dd-mm-yyyy') || ' 00:30:00', 'dd-mm-yyyy hh24:mi:ss');
内容的提问来源于stack exchange,提问作者Meg Cullen
相关产品推荐
相关产品推荐

