Oracle 合并某一日期 和 sysdate的时间部分

开发过程中有一个需求是 将某一个日期 和现在的时间合并成一个新的 datetime

想到了两个方法:

方法 A: 合并字符串

SELECT to_date( (to_char(olddate,'yyyy-mm-dd') || to_char(SYSDATE,'HH24:MI:SS')),'yyyy-mm-dd hh24:mi:ss') FROM dual

 

方法 B: 日期差

Select trunc(olddate - trunc(SYSDATE,'dd')) + SYSDATE FROM dual

使用此方法时第一个sysdate必须使用trunc,否则时间部分将会参与运算,导致日期相差一天,而日期差等于0

 

最后选择使用了方法B。如有更好的方法 希望一起讨论。

posted @ 2010-07-28 14:56  猫科动物  阅读(1847)  评论(0)    收藏  举报