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