操作Oracle时,经常需要对时间进行加减操作,这个直接看SQL:
select
to_timestamp(' 2022-02-22 14:13:29','yyyy-mm-dd hh24:mi:ss') + 30/60/24
from dual
重要的是后边那个“ + 30/60/24 ” 表示 此时间加上30分钟,
看结果:
后边默认的加减单位是天,所以需要换算,除以24换算成小时,除以60换算成分钟,其他单位以此类推
我自己代码里就这样用的,没有任何问题。
select * from "MESSAGE"
where
to_char(MSGTIME,'yyyy-mm-dd hh24:mi:ss.ff') >= #{startTime}
and
to_char(MSGTIME,'yyyy-mm-dd hh24:mi:ss.ff') <=
to_char(to_timestamp(substr(#{startTime},0,19),'yyyy-mm-dd hh24:mi:ss') + 30/60/24,'yyyy-mm-dd hh24:mi:ss')