读书人

oracle 时间有关问题 2分10秒 按 3分算

发布时间: 2012-03-07 09:13:51 作者: rapoo

oracle 时间问题 2分10秒 按 3分算
因为做的是手机计费系统 其中有两个字段

begintime endtime (被设计成varchar2类型,不知道为什么)

两个字段相减 得到通话时间

select round(to_char((to_date(endtime, 'yyyy-mm-dd hh24:mi:ss ')-to_date

(begintime, 'yyyy-mm-dd hh24:mi:ss '))*24*60*60),0) as times from origcdr

这个得到的结果是以秒为单位的

费率是以分钟为单位的

而且不满一分的都按一分种算

比如 这个结果是 120秒 那就是 2分钟

127秒 那就按 3分种算

有没有好的解决方法

[解决办法]
select round((to_date(endtime, 'yyyy-mm-dd hh24:mi:ss ') -
to_date(begintime, 'yyyy-mm-dd hh24:mi:ss ')) *24 * 60 + 0.49999,0) a from origcdr
[解决办法]
select ceil((to_date(endtime, 'yyyymmddhh24miss ') - to_date(begintime, 'yyyymmddhh24miss ')) * 24 * 60 ) from origcdr;

读书人网 >oracle

热点推荐