DB2 如何求得时间差值

来源:互联网 发布:淘宝拍卖玉石是真的吗 编辑:程序博客网 时间:2024/05/17 04:24


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 ;

伦理片 http://www.dotdy.com/ 

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(@starttime)))/3600.0 AS m
from  SYSIBM.SYSDUMMY1;


 SELECT (days('2014-03-08 18:23:47')-days86400 AS dd,(midnight_seconds('2014-03-06 18:23:57') -midnight_seconds('2014-03-06 17:23:47')) AS dd  FROM  TBKADM WHERE KADM ='209'

 影音先锋电影 http://www.iskdy.com/ 

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

DROP FUNCTION DB2INST1.UUID ();

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

0 0
原创粉丝点击