在工作中需要计算两个时间的差值,结束时间 - 开始时间,又不想在js里写function,也不想在java里去计算,干脆就在数据库做了一个函数来计算两个时间的差值。格式为xx天xx时xx分xx秒;
上代码:
create or replace function f_get_diff_time(start_time in date, end_time in date) return varchar2 is diff_time varchar2(50); begin select tday || '天' || thour || '时' || tminute || '分' || round((tt - tminute) * 60) || '秒' into diff_time from (select tday, thour, trunc((tt - thour) * 60) tminute, (tt - thour) * 60 tt from (select tday, trunc((tt - tday) * 24) thour, (tt - tday) * 24 tt from (select to_number(end_time - start_time) as tt, trunc(to_number(end_time - start_time)) as tday from (select start_time, end_time from dual)))); return diff_time; end;
输出的格式为上图;
如对本文有疑问, 点击进行留言回复!!
Oracle查询用户,表结构,表索引,存储过程,触发器等信息整理
oracle的自连接、内连接、外连接、交叉连接、自然连接、等值连接、不等值连接
Oracle数据库使用replace函数批量删除数据中的双引号
网友评论