日期:2014-05-16  浏览次数:20400 次

DB2日期时间函数简介及使用
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         &nbs