1、db2可以通过SYSIBM.SYSDUMMY1、SYSIBM.DUAL获取寄存器中的值,也可以通过VALUES关键字获取寄存器中的值。

SELECT 'HELLO DB2' FROM SYSIBM.SYSDUMMY1;--HELLO DB2
SELECT 'HELLO DB2' FROM SYSIBM.DUAL;--HELLO DB2
VALUES 'HELLO DB2';--HELLO DB2

2、CURRENT DATE获取当前日期;CURRENT TIME获取当前时间;CURRENT TIMESTAMP获取当前时间戳(含年、月、日、时、分、秒)。

VALUES CURRENT DATE--2012/5/25 0:00:00;
VALUES CURRENT TIME--20:48:53;
VALUES CURRENT TIMESTAMP--2012/5/25 20:49:12;

3、YEAR()获取年;MONTH()获取月;DAY()获取日;
     HOUR()获取小时;MINUTE()获取分钟;SECOND()获取秒;
     DATE()获取日期;TIME()获取时间;TIMESTAMP()获取时间戳。
     以上函数参数可以是日期时间类型,也可以为日期时间格式的字符串。

VALUES YEAR(CURRENT TIMESTAMP);/*2012*/  VALUES YEAR('2012-05-25 21:18:12');/*2012*/
VALUES MONTH(CURRENT TIMESTAMP);/*5*/ VALUES MONTH('2012-05-25 21:18:12');/*5*/
VALUES DAY(CURRENT TIMESTAMP);/*25*/ VALUES DAY('2012-05-25 21:18:12');/*25*/
VALUES HOUR(CURRENT TIMESTAMP);/*21*/ VALUES HOUR('2012-05-25 21:18:12');/*21*/
VALUES MINUTE(CURRENT TIMESTAMP);/*18*/ VALUES MINUTE('2012-05-25 21:18:12');/*18*/
VALUES SECOND(CURRENT TIMESTAMP);/*12*/ VALUES SECOND('2012-05-25 21:18:12');/*12*/
VALUES DATE(CURRENT TIMESTAMP);/*2012/5/25 0:00:00*/ VALUES DATE('2012-05-25 21:18:12');/*2012/5/25 0:00:00*/
VALUES TIME(CURRENT TIMESTAMP);/*21:18:12*/ VALUES TIME('2012-05-25 21:18:12');/*21:18:12*/
VALUES TIMESTAMP(CURRENT TIMESTAMP);/*2012/5/25 21:18:12*/ VALUES TIMESTAMP('2012-05-25 21:18:12');/*2012/5/25 21:18:12*/

4、db2时间可以直接加减带单位的时间长度。

VALUES TIMESTAMP('2012-5-25 21:18:12')+1 YEAR;--2013/5/25 21:18:12
VALUES TIMESTAMP('2012-5-25 21:18:12')+1 MONTH;--2012/6/25 21:18:12
VALUES TIMESTAMP('2012-5-25 21:18:12')+1 DAY;--2012/5/26 21:18:12
VALUES TIMESTAMP('2012-5-25 21:18:12')+1 HOUR;--2012/5/25 22:18:12
VALUES TIMESTAMP('2012-5-25 21:18:12')+1 MINUTE;--2012/5/25 21:19:12
VALUES TIMESTAMP('2012-5-25 21:18:12')+1 SECOND;--2012/5/25 21:18:13
VALUES TIMESTAMP('2012-5-25 21:18:12')+1 YEAR+1 MONTH+1 DAY+1 HOUR+1 MINUTE +1 SECOND ;--2013/6/26 22:19:13
VALUES TIMESTAMP('2012-5-25 21:18:12')-1 YEAR-1 MONTH-1 DAY-1 HOUR-1 MINUTE -1 SECOND ;--2011/4/24 20:17:11

5、通过days()可以获取两个时间相差天数。

VALUES DAYS(CURRENT DATE)-DAYS(CURRENT DATE-1000 DAY);--1000 

6、TO_CHAR()把时间转换成指定格式的字符串类型(db2较低版本不支持)。
     “YYYY-MM-DD HH:MI:SS” 十二小时制;“YYYY-MM-DD HH24:MI:SS” 二十四小时制。
     (“YYYY-MM-DD hh:mm:ss”不会报错,但是mm值取的是月的值。)

SELECT TO_CHAR(TIMESTAMP('2012-5-25 21:18:12'),'YYYY-MM-DD') FROM SYSIBM.DUAL;--2012-05-25
SELECT TO_CHAR(TIMESTAMP('2012-5-25 21:18:12'),'YYYY-MM-DD HH:MI:SS') FROM SYSIBM.DUAL;--2012-05-25 09:18:12
SELECT TO_CHAR(TIMESTAMP('2012-5-25 21:18:12'),'YYYY-MM-DD HH24:MI:SS') FROM SYSIBM.DUAL;--2012-05-25 21:18:12
(SELECT TO_CHAR(TIMESTAMP('2012-5-25 21:18:12'),'YYYY-MM-DD HH24:MM:SS') FROM SYSIBM.DUAL;--2012-05-25 21:05:12)

7、DAYNAME()返回指定日期的星期名,该星期名是由首字符大写、其他字符小写组成的英文名。

values DAYNAME(current timestamp)--Friday(当天为星期五)

8、DAYOFWEEK()返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期日。

values DAYOFWEEK(current timestamp);--6(当天为星期五)

9、DAYOFWEEK_ISO()返回参数中的星期几,用范围在 1-7 的整数值表示,其中 1 代表星期一。

values DAYOFWEEK_ISO(current timestamp);--5(当前为星期五)

10、DAYOFYEAR()返回参数中一年中的第几天,用范围在 1-366 的整数值表示。

values DAYOFYEAR(DATE('2012-02-01'));--32

11、MONTHNAME()对于参数的月部分的月份,返回一个大小写混合的字符串(例如,January)。

values MONTHNAME(CURRENT TIMESTAMP);--May(当前为五月)

12、WEEK()返回参数中一年的第几周,用范围在 1-54 的整数值表示。以星期日作为一周的开始。(参数可以为日期格式或者日期格式的字符串)

VALUES WEEK('2012-05-25')--21

13、TIMESTAMPDIFF(n,CHAR(TIMESTAMP('2012-05-25 10: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:年;

VALUES TIMESTAMPDIFF(2,CHAR(TIMESTAMP('2012-05-25 10:23:24')-TIMESTAMP('2012-05-25 10:20:24')));--180秒
VALUES TIMESTAMPDIFF(4,CHAR(TIMESTAMP('2012-05-25 12:23:24')-TIMESTAMP('2012-05-25 10:20:22')));--123分钟
VALUES TIMESTAMPDIFF(8,CHAR(TIMESTAMP('2012-05-25 12:23:24')-TIMESTAMP('2012-05-25 10:20:22')));--2小时
VALUES TIMESTAMPDIFF(16,CHAR(TIMESTAMP('2012-07-25 12:23:24')-TIMESTAMP('2012-05-25 10:20:22')));--60天
VALUES TIMESTAMPDIFF(32,CHAR(TIMESTAMP('2012-07-25 12:23:24')-TIMESTAMP('2012-05-25 10:20:22')));--8周
VALUES TIMESTAMPDIFF(64,CHAR(TIMESTAMP('2012-07-25 12:23:24')-TIMESTAMP('2012-05-25 10:20:22')));--2月
VALUES TIMESTAMPDIFF(128,CHAR(TIMESTAMP('2012-08-25 10:20:22')-TIMESTAMP('2012-05-25 10:20:22')));--1季度
VALUES TIMESTAMPDIFF(256,CHAR(TIMESTAMP('2013-05-25 10:20:22')-TIMESTAMP('2012-05-25 10:20:22')));--1年

14、时期的格式。ISO,使用国际标准组织(ISO)制订的日期和时间格式;USA,使用美国日期和时间的 IBM 标准格式。

values char(current date,iso)--2012-05-25
values char(current date,usa)--05/25/2012
values char(current time,iso)--23.21.32 日期函数汇总举例
1、year(exp) :取exp的year部分。 
参数:date、timestamp类型,日期间隔,时间戳间隔, 
      或者一个有效的date或者timestamp字符串(非CLOB类型)。 
      若为双字节的graphic类型,则将会被转换为字符串,再取值。 
返回值:large integer类型; 
        若参数为null,返回值也为null 
        若参数为date,timestamp,有效的date或者timestamp字符串,返回值范围[1 — 9999] 
        若为日期间隔或时间戳间隔,则返回值范围[-9999 — 9999]  values (year(date('1990-01-01')-sysdate), --日期间隔 
        sysdate,                          --系统日期 
        year(sysdate),                    --取系统日期的年部分 
        year(current timestamp),          --取当前时间戳的年部分 
        current timestamp)                --当前时间戳  1           2                   3           4           5 
----------- ------------------- ----------- ----------- -------------------------- 
        -23 2013-03-25-09.53.49        2013        2013 2013-03-25-09.53.49.163000 
  1 条记录已选择。  2、month(exp) :取exp的month部分。 
参数:date、timestamp类型,日期间隔,时间戳间隔, 
      或者一个有效的date或者timestamp字符串(非CLOB类型)。 
      若为双字节的graphic类型(除了DBCLOB类型),则将会被转换为字符串,再取值。 
返回值:large integer类型; 
        若exp为null,返回值也为null 
        若参数为date,timestamp,有效的date或者timestamp字符串,返回值范围[1 — 12] 
        若参数为日期间隔或者时间戳间隔,返回值的范围[-99 — 99] 
values (sysdate, 
        month(sysdate), 
        month(date('2013-01-01')-date('1900-5-01')), 
        month(date('2000-02-01')-date('2010-01-01')))  1                   2           3           4 
------------------- ----------- ----------- ----------- 
2013-03-25-10.11.36           3           8         -11 
  1 条记录已选择。  3、day(exp) :返回exp的day部分。 
参数:date、timestamp类型,日期间隔,时间戳间隔, 
      或者一个有效的date或者timestamp字符串(非CLOB类型)。 
      若为双字节的graphic类型(除了DBCLOB类型),则将会被转换为字符串,再取值。 
返回值:large integer类型; 
        若exp为null,返回值也为null 
        若参数为date,timestamp,有效的date或者timestamp字符串,返回值范围[1 — 31] 
        若参数为日期间隔或者时间戳间隔,返回值的范围[-99 — 99] 
values (day(date('2000-03-15')-date('1999-12-31')), 
        day(date('1900-01-01-00.00.00')-sysdate), 
        sysdate)  1           2           3 
----------- ----------- ------------------- 
         15         -24 2013-03-25-10.24.41 
  1 条记录已选择。  相关函数: 
days(exp):返回exp与date('0001-01-01')之间的天数 
参数:date、timestamp类型,日期间隔,时间戳间隔, 
      或者一个有效的date或者timestamp字符串(非CLOB类型)。 
      若为双字节的graphic类型(除了DBCLOB类型),则将会被转换为字符串,再取值。 
返回值:large integer类型。  values (sysdate, 
        days(sysdate)/365, 
        days(date('2000-01-01')), 
        days(date('2000-01-01'))/365)  1                   2           3           4 
------------------- ----------- ----------- ----------- 
2013-03-25-10.41.56        2013      730120        2000 
  1 条记录已选择。  4、hour(exp) :取exp的hour部分。 
参数:exp允许的类型如下: 
      有效的datetime形式的字符串,非CLOB类型。 
      time或者timestamp间隔。 
返回值:large integer类型。 
        若参数为null,则返回null。 
        若参数为time,timestamp,或者有效的time或timestamp形式的字符串,则返回值范围[0 — 24]。 
        若参数为date,或者有效的date形式的字符串,则返回0。 
        若参数为time或者timestamp间隔的话,则返回值范围[-99 — 99] 
values (hour(current time), 
        current time, 
        hour('12:10:01'), 
        hour(time('10:10:10')-time('22:10:10')), 
        hour(current timestamp-timestamp('2010-01-01-10.10.10.000000')))  1           2        3           4           5 
----------- -------- ----------- ----------- ----------- 
         11 11:30:33          12         -12           1 
  1 条记录已选择。  5、minute(exp) :取exp的minute部分。 
参数:date、time、timestamp类型,时间间隔,时间戳间隔, 
      或者一个有效的date、time或者timestamp字符串(非CLOB类型)。 
      若参数为date类型,首先先转换为timestamp(0)类型(00.00.00)。 
返回值:large integer类型。 
        参数为null,返回值为null。 
        若参数为date、time、timestamp,或者一个有效的字符串,返回值范围[0 — 59]。 
        若参数为时间或者时间戳间隔,返回值范围[-99 — 99]。 
values (minute(date('2012-01-01')), 
        minute(current time), 
        minute(time('00:00:10')-time('14:59:10')), 
        minute(time('05:59:59')-time('01:01:01')), 
        minute(current timestamp))  1           2           3           4           5 
----------- ----------- ----------- ----------- ----------- 
          0          46         -59          58          46 
  1 条记录已选择。  6、second(exp1[,exp2]) :取exp1的second部分,小数点长度为exp2。 
参数:exp1:date,time,timestamp,时间间隔或者时间戳间隔,或者有效的字符串(非clob、dblob); 
      字符串的首位空格先被移除,在进行转换为相应的日期时间值。 
      若为date类型,默认被转换为timestamp(0)。 
      exp2:范围[0 — 12],表示结果的小数点位数,若有此参数,结果的精度为decimal(2+exp2,exp2)。 
返回值:若exp1为date,time,timestamp或者有效的字符串,只有exp1参数,返回值范围[0 — 59]; 
            如果exp1,exp2都存在,则返回值整数部分的范围[0 - 59],小数部分长度由exp2决定。 
        若exp1为时间间隔或者时间戳间隔,只有exp1参数,返回值范围[-99 - 99]; 
            如果两个参数都有,返回值的整数部分范围[-99 - 99],小数部分,小数部分由exp2决定。 
db2 => values (second(current timestamp,3),second(current timestamp,6),second(time'12:12:14'))  1       2          3 
------- ---------- ----------- 
 52.172  52.172000          14 
  1 条记录已选择。  7、microsecond(exp) :取exp的microsecond部分。 
参数:date、timestamp,时间戳间隔,或者有效的日期、时间戳字符串(char或者varchar)。 
      若参数为date类型,首先先转换为timestamp(0)类型(00.00.00)。 
返回值:large integer类型。 
        若参数为null,返回值也为null。 
        若参数为date、timestamp,或者有效的日期、时间戳字符串,返回值范围[0 — 999999], 
        时间戳精度超过6的,将会被截取。 
        若参数为时间戳间隔,返回值范围[-999999 — 999999] 
values (microsecond(current timestamp), 
        current timestamp, 
        microsecond(current date), 
        microsecond(timestamp('2013-01-01-12.20.59.123456')))  1           2                          3           4 
----------- -------------------------- ----------- ----------- 
     848000 2013-03-25-15.17.04.848000           0      123456 
  1 条记录已选择。  8、quarter(exp) :返回季度。 
参数:date,timestamp,或者有效的date、timestamp字符串(非clob)。 
返回值:integer类型,范围[1 - 4] 
values (quarter(sysdate), 
        quarter(date('2012-12-03')), 
        quarter(timestamp('2013-08-08-12.25.10.123000')))  1           2           3 
----------- ----------- ----------- 
          1           4           3 
  1 条记录已选择。  9、week(exp) :返回当年的第几周。 
参数:date,timestamp类型,或者有效的字符串(表示date,或timestamp)(非clob类型)。 
返回值:integer类型,范围[1 - 54) 
        若参数为null,则返回值为null。 
        计算起始为周日★。 
db2 => values (week(current date),week(timestamp('2013-12-20-10.25.59.123000')))  1           2 
----------- ----------- 
         13          51 
  1 条记录已选择。  相关函数: 
week_iso(exp) :取exp中当年的第几周。 
参数:date,timestamp,或者有效的字符串(表示date,或者timestamp),非clob。 
返回值:integer类型, 
        若参数为null,返回值也为null。 
        返回值范围[1 - 53), 
        从周一开始计算★(年初或年末的几天将会计入当年或者下一年)。 
values (week('2012-12-31'), 
        week_iso('2012-12-31'), 
        week_iso('2012-01-04'), 
        week_iso('2012-01-01'), 
        week_iso('2012-01-02'))  1           2           3           4           5 
----------- ----------- ----------- ----------- ----------- 
         53           1           1          52           1 
  1 条记录已选择。  10、dayofyear(exp) :取exp是当年中的第几天。 
参数:date、timestamp,有效的表示date或timestamp类型的字符串,非clob类型。 
返回值:integer类型。 
        若参数为null,返回值也为null。 
db2 => values (dayofyear(sysdate),sysdate)  1           2 
----------- ------------------- 
         84 2013-03-25-18.22.07 
  1 条记录已选择。  11、dayofweek(exp) :取exp所在的那个周的第几天。 
参数:date,timestamp,或者有效的表示date或timestamp类型的字符串,非clob类型。 
返回值:integer类型 
        若参数为null,返回null 
        返回值范围[1 - 7],周日为第一天,周六为第七天。  db2 => values (dayofweek('2013-03-24'),dayofweek(sysdate),dayofweek(sysdate + 5 days))  1           2           3 
----------- ----------- ----------- 
          1           2           7 
  1 条记录已选择。  dayofweek_iso(exp) :取exp所在的那个周的第几天。 
参数:date,timestamp,或者有效的表示date或timestamp类型的字符串,非clob类型。 
返回值:integer类型 
        若参数为null,返回null 
        返回值范围[1 - 7],周一为第一天,周日为第七天。 
db2 => values (sysdate,dayofweek(sysdate),dayofweek(sysdate + 5 days),dayofweek('2013-03-30-12.10.12.123000'))  1                   2           3           4 
------------------- ----------- ----------- ----------- 
2013-03-25-18.35.28           2           7           7 
  1 条记录已选择。  12、dayname(exp[,local_name]) :取exp当天在一周中的第几天(monday,tuesday,...,sunday) 
参数:date、timestamp类型,或者有效的表示date、timestamp类型的字符串,非clob类型。 
    ★local_name:指定不同的语言环境,例如,西班牙语为“es”,英语为“en”,而法语为“fr”;默认为寄存器 CURRENT LOCALE LC_TIME的值。 
       CURRENT LOCALE LC_TIME 
返回值:星期的英文表示  db2 => values (dayname(current timestamp,'CLDR 1.5:en_US')) 

------------------------------------------------------------ 
Tuesday 
  1 条记录已选择。  db2 => values (dayname(current timestamp,'CLDR 1.5:en_FR')) 

------------------------------------------------------------ 
Tuesday 
  1 条记录已选择。  db2 => values (dayname(current timestamp,'CLDR 1.5:en_DE')) 

------------------------------------------------------------ 
Tuesday 
  1 条记录已选择。  13、add_months(exp,n) :在日期exp上面加上n个月。 
参数:date或者timestamp类型, 
      n为integer类型,若非integer类型,在进行计算的时候,将会被隐式转换为integer类型。 
返回值:一个date或者timestamp值。 
        只改变月份部分和年部分,时分秒或者毫秒不受影响。  values (current timestamp, 
        add_months(current timestamp,2), 
        add_months(date('2012-12-01'),2), 
        sysdate + 2 months) 
1                          2                          3          4 
-------------------------- -------------------------- ---------- ------------------- 
2013-03-26-06.40.07.390000 2013-05-26-06.40.07.390000 2013-02-01 2013-05-26-06.40.07 
  1 条记录已选择。  14、months_between(exp1,exp2) :取两个日期之间的月份间隔。 ★ 
参数:date,timestamp类型。 
返回值:返回值为decimal(31,15)。 
        exp1>exp2,结果为正数;否则为负数。 
         
values (months_between(timestamp('2007-11-01-09.00.00.00000'), 
                       timestamp('2007-12-07-14.30.12.12345')))  1 
--------------------------------- 
               -1.200945386592741 
  1 条记录已选择。  values (months_between(timestamp('2007-11-01-09.00.00.00000'), 
                       timestamp('2007-12-07-14.30.12.12345')) * 31)  1 
--------------------------------- 
              -37.229306984374971 
  1 条记录已选择。 
months_bewteen函数的具体细节: 
MONTHS_BEWTEEN  15、last_day(exp) :取exp表示的日期当月的最后一天。 
参数:date、timestamp类型。 
返回值:与参数相同 
values (last_day(current timestamp),current date,last_day(current date),last_day('2013-02-21'))  1                          2          3          4 
-------------------------- ---------- ---------- ---------- 
2013-03-31-09.23.42.146000 2013-03-26 2013-03-31 2013-02-28 
  1 条记录已选择。  16、next_day(exp,dt[,local_name]) :取下一个dt(dt表示从周一到周五)日期。 
参数:exp:date、timestamp类型。 
      dt:MONDAY(MON),TUESDAY(TUE),WENDESDAY(WED),THURSDAY(THU), 
          FRIDAY(FRI),SATURDAY(SAT),SUNDAY(SUN)。 
      local_name:区域指定标识。★ 
返回值:类型与exp相同。  values (current date, 
        next_day(current date,'MON'), 
        next_day(date('2013-01-01'),'sat'), 
        next_day(current_timestamp,'tuesday'))  1          2          3          4 
---------- ---------- ---------- -------------------------- 
2013-03-26 2013-04-01 2013-01-05 2013-04-02-09.35.24.116000 
  1 条记录已选择。  17、timestampdiff(exp1,exp2) :计算两个时间戳之间相隔的年、季度、周、天、小时、分钟、秒。 
参数:exp1,integer或者smallint类型,可以是如下的值: 
        1:秒的小数                  
        2:秒数 
        4:分钟数 
        8:小时数 
       16:天数 
       32:周数 
       64:月数 
      128:季度数 
      256:年数 
      exp2:转换为字符串的两个时间戳相减得到的结果 —— char(22)。 
返回值:integer类型。 
        参数值为null,返回值也为null。 
在对参数exp2进行计算的时候,必须遵循下面的规则: 
1年=365天 
1月=30天 
1天=24小时 
1小时=60分钟 
1分钟=60秒 
忽略闰年  values (timestampdiff(2,char(timestamp('2013-03-26-10.07.24.123456')-timestamp('2013-03-01-10.10.10.123000')))) 

----------- 
    2159834   --秒数 
  1 条记录已选择。  values (timestampdiff(4,char(timestamp('2013-03-26-10.07.24.123456')-timestamp('2013-03-01-10.10.10.123000')))) 

----------- 
      35997   --分钟数 
  1 条记录已选择。  values (timestampdiff(8,char(timestamp('2013-03-26-10.07.24.123456')-timestamp('2013-03-01-10.10.10.123000')))) 

----------- 
        599   --小时数 
  1 条记录已选择。  values (timestampdiff(16,char(timestamp('2013-03-26-10.07.24.123456')-timestamp('2013-03-01-10.10.10.123000')))) 

----------- 
         24   --天数 
  1 条记录已选择。  values (timestampdiff(32,char(timestamp('2013-03-26-10.07.24.123456')-timestamp('2013-03-01-10.10.10.123000')))) 

----------- 
          3   --周数 
  1 条记录已选择。  values (timestampdiff(64,char(timestamp('2014-03-26-10.07.24.123456')-timestamp('2013-03-01-10.10.10.123000')))) 

----------- 
         12   --月数 
  1 条记录已选择。  values (timestampdiff(128,char(timestamp('2014-03-26-10.07.24.123456')-timestamp('2013-03-01-10.10.10.123000')))) 

----------- 
          4   --季度 
  1 条记录已选择。  values (timestampdiff(256,char(timestamp('2015-03-26-10.07.24.123456')-timestamp('2013-03-01-10.10.10.123000')))) 

----------- 
          2   --年 
  1 条记录已选择。  18、timestamp(exp[,len]) :取exp表示的timestamp。 
参数:exp:可以是date、timestamp类型,或者有效的表示date或timestamp类型的字符串。 
      len:可选,表示毫秒的长度。 
返回值:返回exp表示的timestamp。 
        若参数为date类型或者date字符串,则时、分、秒、毫秒部分都为0。 
        若参数为timestamp或者timestamp字符串,则返回exp按照当前默认格式转换之后的值。 
values (timestamp('2012-01-01',2), 
        timestamp('2013-01-01-10.10.10.123456'), 
        timestamp(current date), 
        timestamp(sysdate,9))  1                      2                          3                   4 
---------------------- -------------------------- ------------------- ----------------------------- 
2012-01-01-00.00.00.00 2013-01-01-10.10.10.123456 2013-03-26-00.00.00 2013-03-26-11.19.07.000000000 
  1 条记录已选择。  timestamp_iso(exp) :返回exp的timestamp形式。 
参数:date,time,timestamp,char或varchar字符串(表示有效的日期、时间、时间戳)。 
返回值:参数为date类型,timestamp类型的结果,时分秒毫秒全部为0。 
        参数为time类型,结果日期为当前日期,毫秒为0。 
        参数为timestamp类型,返回exp按照当前默认格式转换之后的值。 
values (timestamp_iso(time('10:10:10')), 
        timestamp_iso('2013-01-01'), 
        timestamp_iso(current timestamp), 
        timestamp_iso('2013-03-26-10.12.10.123456'))  1                          2                          3                          4 
-------------------------- -------------------------- -------------------------- -------------------------- 
2013-03-26-10.10.10.000000 2013-01-01-00.00.00.000000 2013-03-26-13.53.20.809000 2013-03-26-10.12.10.123456 
  1 条记录已选择。  19、varchar_format(exp,format[,locale_name]) :这里指讨论此函数将时间戳转换为字符串的问题。 
exp:date、timestamp类型,在进行转换之前,date类型的参数将会被转换为timestamp(0)类型。 
format:格式有多种,具体看下面实例。 
locale_name:区域标识符号,若未指定的话,使用寄存器current lc_time的值,查看:values (current lc_time)。 
实例: 
tmstamp=timestamp(' 2007-03-09-14.07.38.123456')  Function invocation                          Result 
-------------------                          ------ 
VARCHAR_FORMAT(TMSTAMP,'YYYYMMDDHHMISSFF3')  20070309020738123 
VARCHAR_FORMAT(TMSTAMP,'YYYYMMDDHH24MISS')   20070309140738 
VARCHAR_FORMAT(TMSTAMP,'YYYYMMDDHHMI')       200703090207 
VARCHAR_FORMAT(TMSTAMP,'DD/MM/YY')           09/03/07 
VARCHAR_FORMAT(TMSTAMP,'MM-DD-YYYY')         03-09-2007 
VARCHAR_FORMAT(TMSTAMP,'J')                  2454169 
VARCHAR_FORMAT(TMSTAMP,'Q')                  1 
VARCHAR_FORMAT(TMSTAMP,'W')                  2 
VARCHAR_FORMAT(TMSTAMP,'IW')                 10 
VARCHAR_FORMAT(TMSTAMP,'WW')                 10 
VARCHAR_FORMAT(TMSTAMP,'Month','en_US')      March  
VARCHAR_FORMAT(TMSTAMP,'MONTH','en_US')      MARCH  
VARCHAR_FORMAT(TMSTAMP,'MON','en_US')        MAR  
VARCHAR_FORMAT(TMSTAMP,'Day','en_US')        Friday  
VARCHAR_FORMAT(TMSTAMP,'DAY','en_US')        FRIDAY  
VARCHAR_FORMAT(TMSTAMP,'Dy','en_US')         Fri  
VARCHAR_FORMAT(TMSTAMP,'Month','de_DE')      M?rz  
VARCHAR_FORMAT(TMSTAMP,'MONTH','de_DE')      M?RZ  
VARCHAR_FORMAT(TMSTAMP,'MON','de_DE')        MRZ  
VARCHAR_FORMAT(TMSTAMP,'Day','de_DE')        Freitag  
VARCHAR_FORMAT(TMSTAMP,'DAY','de_DE')        FREITAG  
VARCHAR_FORMAT(TMSTAMP,'Dy','de_DE')         Fr  to_nchar() 类似于varchar_format()函数。 
to_char() 类似varchar_format()函数。  20、 ★ timestamp_format(str,format) :取字符串str的format格式的timestamp类型。 
参数:str为char或者varchar类型; 
      format:时间戳的格式。 
返回值:timestamp类型; 
db2 => values (timestamp_format('2012/12/12 15:10:10.123456','yyyy-mm-dd hh24:mi:ss.ff'))  1 
-------------------------- 
2012-12-12-15.10.10.123456 
  1 条记录已选择。  更多细节:http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.sql.ref.doc/doc/r0007107.html 
相关函数: 
to_timestamp() 
to_date() 
21、extract() 
:取日期、时间或者时间戳的指定部分。有两种形式: 
1.从日期或者时间戳中取年月日天。 
extract(year|month|day from exp) 
参数:year、month、day为固定参数,表示取的值; 
      exp:date或者timestamp类型。 
values (current_timestamp, 
        extract(year from current_timestamp), 
        extract(month from current_timestamp), 
        extract(day from current_timestamp))  1                          2           3           4 
-------------------------- ----------- ----------- ----------- 
2013-03-26-14.02.38.323000        2013           3          26 
  1 条记录已选择。 
values (extract(year from '2013-03-26'), 
        extract(month from '2013-01-03'), 
        extract(day from '2012-01-30'))  1           2           3 
----------- ----------- ----------- 
       2013           1          30 
  1 条记录已选择。  2.从时间或者时间戳中取时分秒。 
extract(hour|minute|second from exp) 
参数:hour、minute、second为固定值,表示取的值; 
      exp:time或者timestamp类型。 
values (current_time, 
        extract(minute from current_time), 
        extract(hour from '15:23:21'), 
        extract(second from current_timestamp))  1        2           3           4 
-------- ----------- ----------- ---------- 
14:09:18           9          15  18.885000 
  1 条记录已选择。  extract()函数的返回值: 
1.指定取year、month、day、hour、minut,则返回integer类型。 
2.对于timestamp(p)类型的值,second值的类型为decimal(2+p,p)。 
3.对于time类型,或者有效的表示time或者timestamp类型的字符串,则second的为decimal(8,6)类型。  db2 => values (extract(second from current_timestamp(2)),extract(second from '2013-03-26-14.20.20.123456'))  1      2 
------ ---------- 
 13.83  20.123456 
  1 条记录已选择。  22、truncate(exp,format[,local_name]) (或者trunc()) 
参数:exp:date、time、timestamp类型,不支持有效的时间日期类型的字符串,必须使用cast或者相应的函数进行转换。 
      format:截取保留的部分,如下: 
             year|yyyy:截取到年部分; 
    month|mon|mm:截取到月部分; 
             day|dy|d:截取到当前日期的本周起始日期; 
             ddd|dd|DD:截取到当天,默认值; 
             hh:截取到小时部分; 
             minute|mi:截取到分钟; 
             ss:截取到秒; 
      local_name:常量,在format为day,dy或者d的时候,指定一周的起始。  values (current_timestamp,                 --2013-03-26-15.50.39.589000 
        trunc(current_timestamp,'year'),   --2013-01-01-00.00.00.000000 
        trunc(current_timestamp,'month'),  --2013-03-01-00.00.00.000000 
        trunc(current_timestamp,'day'),    --2013-03-24-00.00.00.000000 
        trunc(current_timestamp,'dd'),     --2013-03-26-00.00.00.000000 
        trunc(current_timestamp,'hh'),     --2013-03-26-15.00.00.000000 
        trunc(current_timestamp,'minute'), --2013-03-26-15.50.00.000000 
        trunc(current_timestamp,'ss'),     --2013-03-26-15.50.39.000000 
        trunc(timestamp('2013-03-26-15.50.39.589000')) --2013-03-26-00.00.00.000000 
       ) 

db2 日期时间格式的更多相关文章

  1. DB2 日期时间函数

    db2日期时间函数 (DATE(TRIM(CHAR(DT#11Y))||'-'||TRIM(CHAR(DT#11M))||'-'||TRIM(CHAR(DT#11D))) BETWEEN DATE(' ...

  2. SQL Server日期时间格式转换字符串详解 (详询请加qq:2085920154)

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  3. SQL Server日期时间格式转换字符串

    在SQL Server数据库中,SQL Server日期时间格式转换字符串可以改变SQL Server日期和时间的格式,是每个SQL数据库用户都应该掌握的.本文我们主要就介绍一下SQL Server日 ...

  4. 一起Polyfill系列:让Date识别ISO 8601日期时间格式

    一.什么是ISO 8601日期时间格式 ISO 8601是国际标准化组织制定的日期时间表示规范,全称是<数据存储和交换形式·信息交换·日期和时间的表示方法>. 示例: 1. 2014-12 ...

  5. Sql日期时间格式转换;取年 月 日,函数:DateName()、DATEPART()

    一.sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, 20) 结果:2007 ...

  6. WPF-数据绑定:日期时间格式

    WPF-数据绑定:日期时间格式绑定后自定义格式的例子. 我刚才遇到的问题是绑定完之后,星期始终显示为英文.需要一个属性ConverterCulture制定区域. 如下: {Binding dateti ...

  7. 调用DEDE日期时间格式整理大全

    dedecms 日期时间格式大全,大家可以根据需要选择.DEDECMS利用strftime()函数格式化时间的所有参数详解,包括年份日期进制.小时格式等,大家收藏吧,呵. 日期时间格式 (利用strf ...

  8. SQL Server日期时间格式转换字符串详解

    本文我们主要介绍了SQL Server日期时间格式转换字符串的相关知识,并给出了大量实例对其各个参数进行对比说明,希望能够对您有所帮助. 在SQL Server数据库中,SQL Server日期时间格 ...

  9. sql 日期时间格式转换

    Sql日期时间格式转换   sql server2000中使用convert来取得datetime数据类型样式(全) 日期数据格式的处理,两个示例: CONVERT(varchar(16), 时间一, ...

随机推荐

  1. Ref和Out参数的区别(转帖)

    首先,如果不使用这两个关键字,那是什么样 呢? 看下面的例子: using System;   class Test   {   static void Swap(ref int x, ref int ...

  2. [译]JavaScript 错误和处理

    JavaScript的调试是一个噩梦:一些错误刚开始很难理解,并且给出的错误函数也经常是没用的.如果把错误都列出来并给出解决办法会不会很有用呢. 下面列出了JavaScript一系列的奇怪错误.对于同 ...

  3. WM_SIZE和WM_MOVE的函数体内容为什么不一样?

    搞不懂,要想一想- procedure TWinControl.WMSize(var Message: TWMSize); begin UpdateBounds; // 类函数 inherited; ...

  4. jquery常用的一些方法

    一.选择网页元素(标签选择器) $(document) //选择整个文档对象 $('#myId') //选择ID为myId的网页元素 $('div.myClass') // 选择class为myCla ...

  5. 『Shell编程』学习记录(2)

    例1.文件io #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include & ...

  6. Desert King POJ - 2728(最优比率生产树/(二分+生成树))

    David the Great has just become the king of a desert country. To win the respect of his people, he d ...

  7. 关于并查集的路径压缩(Path Compress)优化

    之前在CSDN看到一篇很受欢迎的讲解并查集的博文,其中自然用到了路径压缩: int pre[1000]; int find(int x){ int root = x; while(pre[root]! ...

  8. flutter -------- GridView的使用

    使用GridView将widget放置为二维列表. GridView提供了两个预制list,或者您可以构建自定义网格.当GridView检测到其内容太长而不适合渲染框时,它会自动滚动. GridVie ...

  9. canvas绘制环形进度条

    <!DOCTYPE html> <html > <head> <meta http-equiv="content-type" conten ...

  10. Receiver 和 Direct方式的区别

    Kafka direct 跟receiver 方式接收数据的区别? Receiver是使用Kafka的高层次Consumer API来实现的.Receiver从Kafka中获取的数据都是存储在Spar ...