首页 > 数据库技术 > 详细

DB2 如何求得时间差值

时间:2016-01-10 02:03:49      阅读:857      评论:0      收藏:0      [点我收藏+]

1、以秒为单位,求得两个时间的差值

--DROP FUNCTION DB2INST1.GETDATETIMEDIFF (TIMESTAMP ,TIMESTAMP);

CREATE? FUNCTION DB2INST1.GETDATETIMEDIFF (@starttime TIMESTAMP ,@lasttime TIMESTAMP)
--定义返回值类型以及长度
RETURNS DECIMAL(31,2)
--定义返回值,得到两个时间相差秒数
RETURN
?SELECT?((days(@lasttime)-days(@starttime))*86400.0 +(midnight_seconds(@lasttime) -midnight_seconds(@starttime)) ) AS m
from? SYSIBM.SYSDUMMY1 ;

?

2、以小时为单位,求得两个时间的差值
CREATE? FUNCTION DB2INST1.GETDATETIMEDIFF (@starttime TIMESTAMP ,@lasttime TIMESTAMP)
/**************************************************************************
*过程名称:得到时差,以小时为单位
*过程功能:
*参数说明:@starttime开始时间 @lasttime结束时间
*编 程 人: gaojingsong
*编程时间: 2014-05-13
*修 改 人:
*修改功能:
***************************************************************************/
--定义返回值类型以及长度
RETURNS DECIMAL(31,2)
--定义返回值,得到时差
RETURN
?SELECT?((days(@lasttime)-days(@starttime))*86400.0 +(midnight_seconds(@lasttime) -midnight_seconds(@starttime)))/3600.0 AS m
from? SYSIBM.SYSDUMMY1;


?SELECT?(days(‘2014-03-08 18:23:47‘)-days(‘2014-02-04 18:23:47‘))*86400 AS dd,(midnight_seconds(‘2014-03-06 18:23:57‘) -midnight_seconds(‘2014-03-06 17:23:47‘)) AS dd? FROM? TB_HGQW_BASIC_KADM WHERE KADM =‘209‘

?

3、定义一个类似JAVA中的UUID函数

DROP FUNCTION DB2INST1.UUID ();

CREATE FUNCTION DB2INST1.UUID()
--定义返回值类型以及长度
RETURNS VARCHAR(32)
--定义返回值
RETURN
SELECT
CONCAT(CONCAT(HEX(current timestamp),int(rand()*99999999)),int(rand()*9999))
from? SYSIBM.SYSDUMMY1
;

DB2 如何求得时间差值

原文:http://gaojingsong.iteye.com/blog/2269587

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!