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
;
原文:http://gaojingsong.iteye.com/blog/2269587