天天看点

DB2常用的时间函数

一。与日期有关的。(注:以下操作都是在quest下进行的,若在命令行下执行,则要在最前面加上'DB2 ')

   1。计算当前日期与其他日期间的天数:VALUES days (current date) - days (date('2007-1-1'))

2。计算任何两个日期间的天数:values days('2007-01-1') - days('2006-01-01') ,用年头日期相减,则为计算某年的天数。

3。取当前日期:VALUES CURRENT DATE '2007-01-24'

    取当前时间戳:VALUES CURRENT timestamp      '2007-01-24 14:39:04.586808'

    取当前时间:VALUES current time           '15:24:07'

   也可用下面的方式,请参考适当的DB2寄存器。

   SELECT current date FROM sysibm.sysdummy1    '2007-01-24'

   SELECT current time FROM sysibm.sysdummy1    '15:26:22'

   SELECT current timestamp FROM sysibm.sysdummy1 '2007-01-24 15:26:45.432034'

4。分别取当前的年、月、日、小时、分钟、秒、微妙

     values YEAR (current timestamp);             2007 年

        values MONTH (current timestamp);             1 月

        values DAY (current timestamp);               24 号

        values HOUR (current timestamp);              15 点

        values MINUTE (current timestamp);             7 分

        values SECOND (current timestamp);             10 秒

        values MICROSECOND (current timestamp);        464872 微妙

5。几种常见的日期格式。

     values char(current date,ISO);   '2007-01-24'

        values char(current date,USA);    '01/24/2007'

        values char(current date,EUR);    24.01.2007

        values char(current date,JIS);    '2007-01-24'

        values char(current date,LOCAL)    '01/24/2007'

6。要使当前时间或当前时间戳记调整到GMT/CUT,则把当前的时间或时间戳记减去当前时区寄存器:

   values current timestamp - current timezone   '2007-01-24 07:22:00.314034'

   values current time - current timezone        '07:22:48'

7。如何对日期进行加减运算,即使我想获得某一个日期的前1天,前N天,前一个月,前N个月,前1年,前N年,后1天,后N天,1月后,N月后,1年后,N年后....。

VALUES current date + 1 YEAR   '2008-01-24'

VALUES current date + 3 YEARS + 2 MONTHS + 15 DAYS   '2010-04-08'

VALUES current time + 5 HOURS - 3 MINUTES + 10 SECONDS '20:27:56'

8。如何自动得到2007年1月24日 这样格式的日期。

select rtrim(char(year(current date)))||'年'||rtrim(char(month(current date)))||'月'||rtrim(char(day(current date)))||'日' from (values(1))

继续阅读