ORACEL 与 SQL SERVER数据库 时间差计算

时间:2023-01-27 00:43:47

问题背景:设计流程报表计算时间耗费时遇到的一些问题

分钟计算

OracleROUND(TO_NUMBER(END_DATE - START_DATE) * 24 * 60)

SQL:select datediff(N,'2018-05-28 10:33:30.210','2018-05-28 10:38:08.717')    

结果   5

由于小时的时间差会忽略分钟部分的计算

select datediff(HH,'2018-05-28 11:59:49.160','2018-05-28 12:00:08.717')    结果为  1

为了更加精确计算,存在把分钟计算出来转小时的需求

select 5/60   的结果为 0;需要把其中一个数转为小数再进行运算

select 5*1.0/60  的 结果为0.083333...