本文主要是介绍DB2数据库日期时间的处理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
参考:
http://www.cnblogs.com/wanghonghu/archive/2012/05/25/2518604.html
日期处理.sql
SELECT 'HELLO DB2' FROMSYSIBM.SYSDUMMY1;
SELECT 'HELLO DB2' FROM SYSIBM.DUAL;
VALUES 'HELLO DB2';
VALUES CURRENT DATE; ---日期
VALUES CURRENT TIME; ----时间
VALUES CURRENT TIMESTAMP; ----日期+时间
VALUES YEAR(CURRENTTIMESTAMP);/*2012*/ VALUESYEAR('2012-05-25 21:18:12');/*2012*/
VALUES MONTH(CURRENTTIMESTAMP);/*5*/ VALUESMONTH('2012-05-25 21:18:12');/*5*/
VALUES DAY(CURRENTTIMESTAMP);/*25*/ VALUES DAY('2012-05-2521:18:12');/*25*/
VALUES HOUR(CURRENTTIMESTAMP);/*21*/ VALUESHOUR('2012-05-25 21:18:12');/*21*/
VALUES MINUTE(CURRENTTIMESTAMP);/*18*/ VALUESMINUTE('2012-05-25 21:18:12');/*18*/
VALUES SECOND(CURRENTTIMESTAMP);/*12*/ VALUESSECOND('2012-05-25 21:18:12');/*12*/
VALUES DATE(CURRENTTIMESTAMP);/*2012/5/25 0:00:00*/ VALUESDATE('2012-05-25 21:18:12');/*2012/5/25 0:00:00*/
VALUES TIME(CURRENTTIMESTAMP);/*21:18:12*/ VALUESTIME('2012-05-25 21:18:12');/*21:18:12*/
VALUES TIMESTAMP(CURRENTTIMESTAMP);/*2012/5/25 21:18:12*/ VALUESTIMESTAMP('2012-05-25 21:18:12');/*2012/5/25 21:18:12*/
-------年月日的相加
VALUES TIMESTAMP('2012-5-2521:18:12')+1 YEAR;--2013/5/25 21:18:12
VALUES TIMESTAMP('2012-5-2521:18:12')+1 MONTH;--2012/6/25 21:18:12
VALUES TIMESTAMP('2012-5-2521:18:12')+1 DAY;--2012/5/26 21:18:12
VALUES TIMESTAMP('2012-5-2521:18:12')+1 HOUR;--2012/5/25 22:18:12
VALUES TIMESTAMP('2012-5-2521:18:12')+1 MINUTE;--2012/5/25 21:19:12
VALUES TIMESTAMP('2012-5-2521:18:12')+1 SECOND;--2012/5/25 21:18:13
VALUES TIMESTAMP('2012-5-2521:18:12')+1 YEAR+1 MONTH+1 DAY+1 HOUR+1 MINUTE +1 SECOND ;--2013/6/26 22:19:13
VALUES TIMESTAMP('2012-5-2521:18:12')-1 YEAR-1 MONTH-1 DAY-1 HOUR-1 MINUTE -1 SECOND ;--2011/4/24 20:17:11
values TIMESTAMP('2015-02-2821:18:12')+1 day;
-----获取两个日期的差值
VALUES DAYS(CURRENTDATE)-DAYS(CURRENT DATE-1000 DAY);--1000
------转化为字符串
SELECT TO_CHAR(TIMESTAMP('2012-5-2521:18:12'),'YYYY-MM-DD') FROM SYSIBM.DUAL;--2012-05-25
SELECT TO_CHAR(TIMESTAMP('2012-5-2521:18:12'),'YYYY-MM-DD HH:MI:SS') FROM SYSIBM.DUAL;--2012-05-25 09:18:12
SELECT TO_CHAR(TIMESTAMP('2012-5-2521:18:12'),'YYYY-MM-DD HH24:MI:SS') FROM SYSIBM.DUAL;--2012-05-25 21:18:12
(SELECT TO_CHAR(TIMESTAMP('2012-5-2521:18:12'),'YYYY-MM-DD HH24:MM:SS') FROM SYSIBM.DUAL;--2012-05-25 21:05:12)
values DAYNAME(currenttimestamp)--Friday(当天为星期五)
values DAYOFWEEK(currenttimestamp);--6(当天为星期五)
values DAYOFWEEK_ISO(currenttimestamp);--5(当前为星期五)
values DAYOFYEAR(currenttimestamp);--32范围在 1-366 的整数值表示
values MONTHNAME(CURRENTTIMESTAMP);--May(当前为五月)
VALUES WEEK(CURRENT TIMESTAMP)--21范围在 1-54 的整数值表示
/***
TIMESTAMPDIFF(n,CHAR(TIMESTAMP('2012-05-2510:23:24')-TIMESTAMP('2012-05-25 10:20:24')))
根据两个时间戳记之间的时差,返回由第一个参数定义的类型表示的估计时差。(整除部分,不会四舍五入)
n=2:秒; n=4 :分; n=8:时;
n=16 :天; n=32 :周;n=64:月;
n=128 :季度; n=256:年;***/
VALUESTIMESTAMPDIFF(2,CHAR(TIMESTAMP('2012-05-25 10:23:24')-TIMESTAMP('2012-05-2510:20:24')));--180秒
VALUESTIMESTAMPDIFF(4,CHAR(TIMESTAMP('2012-05-25 12:23:24')-TIMESTAMP('2012-05-2510:20:22')));--123分钟
VALUES TIMESTAMPDIFF(8,CHAR(TIMESTAMP('2012-05-2512:23:24')-TIMESTAMP('2012-05-25 10:20:22')));--2小时
VALUESTIMESTAMPDIFF(16,CHAR(TIMESTAMP('2012-07-25 12:23:24')-TIMESTAMP('2012-05-2510:20:22')));--60天
VALUESTIMESTAMPDIFF(32,CHAR(TIMESTAMP('2012-07-25 12:23:24')-TIMESTAMP('2012-05-25 10:20:22')));--8周
VALUESTIMESTAMPDIFF(64,CHAR(TIMESTAMP('2012-07-25 12:23:24')-TIMESTAMP('2012-05-2510:20:22')));--2月
VALUESTIMESTAMPDIFF(128,CHAR(TIMESTAMP('2012-08-25 10:20:22')-TIMESTAMP('2012-05-2510:20:22')));--1季度
VALUES TIMESTAMPDIFF(256,CHAR(TIMESTAMP('2013-05-2510:20:22')-TIMESTAMP('2012-05-25 10:20:22')));--1年
values char(current date,iso);--2012-05-25
values char(current date,usa);--05/25/2012
values char(current time,iso);--23.21.32
这篇关于DB2数据库日期时间的处理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!