oracle计算两个时间的差值(XX天XX时XX分XX秒)

在工作中需要计算两个时间的差值,结束时间 - 开始时间,又不想在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;

输出的格式为上图;

原文地址:https://www.cnblogs.com/pluto-charon/p/11154672.html

时间: 2024-11-05 18:54:13

oracle计算两个时间的差值(XX天XX时XX分XX秒)的相关文章

按小时计算两个时间的差值,结果精确到分钟

SELECT  ROUND(( DATEDIFF(minute, '2014/1/3 18:40:00', '2014/1/4 20:00:00') )              / CONVERT(FLOAT, 60), 1) AS DiffDate

moment实现计算两个时间的差值

var m1 = moment('2018-08-14 11:00:00'), m2 = moment('2018-08-14 12:10:00'); console.log(m1)console.log(m2)console.log(m2.diff(m1, 'minute')); minute为分钟,可更改为秒或毫秒,具体看官方说明 原文地址:https://www.cnblogs.com/licurry/p/9476351.html

php 计算两个时间的差

<?php $now = time(); $old = strtotime("2014-6-25 10:10:10"); $day = floor(($now-$old)/(60*60*24)); $hour = floor(($now-$old)/(60*24)); $minute = floor(($now-$old)/(60)); $second = $now-$old; echo $minute; ?> 要计算两个时间的差需要把两个时间都转换(strtotime)为

js 计算两个时间的差

比如得到两个时间的字符串 2013-01-21 11:10:49   2013-01-21 11:14:43,要用后面的时间减去前面的时间 直接上代码 var begen = new Date(value[0]["createtime"]) var end = new Date(value[i]["createtime"]) var cha = end.getTime()-begen.getTime(); console.log(cha); console.log(

PHP计算两个时间的差(秒 分 时 天 月 年)

两个时间之间月份差实例代码: 代码如下 复制代码 $yourdate="2012-10-20"; $yourdate_unix=strtotime($yourdate); echo (date("Y",$yourdate_unix)-date("Y"))*12+(date("m",$yourdate_unix)-date("m")); 例子1 代码如下 复制代码 /* * 计算2个时间段的月份差 * @pa

计算两个DateTime的差值

基本做法(d2的日期应大于d1的日期,d1.Subtract(d2)返回的不是负数,而是0): 若想算"2017-2-13 23:59:59"到"2017-2-14 0:00:01"这两个时间相差的天数,那应该是1天,但是用上述的代码得到的只有2秒的时间差,若想知道天数的差值,应先进行转换,去掉时分秒(Convert.ToDateTime(aimTime.ToShortDateString())):

【峰回路转】Excel技巧百例 08.计算两个日期的差值

在Excel中如果快速计算两个日期之间的差? 例如A日期为:2012/3/12   B日期为:2015/7/29  那么这两个日期之间差几年,差几个月,差多少天? 我们使用DateDif 函数来处理. 例如: =DATEDIF(A2,B2,"y") =DATEDIF(A2,B2,"m") =DATEDIF(A2,B2,"d") 如果要计算两个日期之间的天数差,也可以不使用函数,Excel中可以进行隐式转换 版权声明:本文为博主原创文章,未经博主允

计算两个时间的差

获取两个datetime的时间差 #!/usr/bin/env python # -*- coding: utf-8 -*- import time, datetime def time_cha(date1,date2): date1=time.strptime(date1,"%Y-%m-%d %H:%M:%S") date2=time.strptime(date2,"%Y-%m-%d %H:%M:%S") date1=datetime.datetime(date1

SQL_计算两个日期之间差值

select DATEDIFF(D,'2012-06-01','2014-09-21') as 相差天数 select DATEDIFF(HH,'2012-06-01','2014-09-21') as 相差小时数 ps:DATEDIFF()函数用法 语法DATEDIFF(datepart,startdate,enddate)参数datepart日期区分startdate开始日期enddate结束日期 datepart 缩写 年 yy, yyyy 季度 qq, q 月 mm, m 年中的日 dy