微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

oracle 两个日期相减,返回天-时-分-秒的函数

CREATE OR REPLACE FUNCTION F_DAYS2STR(P_DAYS IN NUMBER DEFAULT 0) RETURN VARCHAR2 IS --For: 将天数转换成天时分秒格式
 DAYS NUMBER := NVL( P_DAYS,0 );
 VD NUMBER;--天
 VH NUMBER;--小时
 VM NUMBER;--分
 VS NUMBER;--秒
RESULT VARCHAR2(100);--返回值
BEGIN VD := Trunc( DAYS );
VH := Trunc(( DAYS - VD )* 24 );
VM := Trunc(( DAYS - VD - VH / 24 )* 24 * 60 );
VS := Trunc(( DAYS - VD - VH / 24 - VM / 24 / 60 )* 24 * 60 * 60 );
SELECT DECODE( VD,'',VD || '天' )|| DECODE( VH,VH || '小时' )|| DECODE( VM,VM || '分' )|| DECODE( VS,VS || '秒' ) INTO RESULT FROM DUAL;
RETURN(RESULT);
END;


ps:SELECT F_DAYS2STR(SYSDATE-TO_DATE('2017-08-22 15:30','yyyy-MM-dd hh24:mi')) FROM dual。

原文地址:https://www.jb51.cc/oracle/207996.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐