DB2开发常用-------日期函数
|
获取时间
|
1、获取当期日期:
|
values current date;
2012-08-28
|
2、获取当期时间
|
values current time;
11:56:36
|
3、获取当前时间戳
|
values current timestamp;
2012-08-28 11:57:32
|
4、year()
获取当前年份
|
values year(current timestamp);
2012
|
5、month()
获取当前月份
|
values month(current timestamp);
8
|
6、day()
获取当前日
|
values day(current timestamp);
28
|
7、 hour()
获取当前时
|
values hour(current timestamp);
12
|
8、minute()
获取当前分
|
values minute(current timestamp);
3
|
9、second()
获取秒
|
values second(current timestamp);
48
|
10、microsecond()
获取毫秒
|
values microsecond(current timestamp);
59000
|
11、timestamp转varchar
|
values varchar_format(current timestamp,'yyyy-mm-dd hh24-mm-ss');
2012-08-28 12-08-21
|
12、timestamp中抽取date
|
values date(current timestamp);
2012-08-28
|
13、timestamp中抽取time
|
values time(current timestamp);
12:14:51
|
14、星期相关
Dayname()返回日期参数中的星期几,返回值类型:字符串;例如:星期一
|
values dayname(current timestamp);
Tuesday
|
Dayofweek()返回日期参数中的星期几,返回值类型:整数;例如:1;其中1代表星期日
|
values dayofweek(current timestamp);
3
----今天是Tuesday
|
Dayofweek_iso()返回日期参数中的星期几,返回值类型:整数;例如:1;其中1代表星期一
|
values dayofweek_iso(current timestamp);
2
----今天是Tuesday
|
Week()返回日期参数中所在年的第几周,返回范围在(1-54)的整数,以星期日作为一周的开始
|
values week(timestamp('2012-1-8'));
2
|
Week()返回日期参数中所在年的第几周,返回范围在(1-53)的整数,以星期一作为一周的开始ITPUB个人空间ks t7\W K
|
values week_iso(timestamp('2012-1-8'));
1
|
15、时间与字符串之间转换
Varchar_format(<time>,’yyyy-mm-dd’)返回值:字符串
|
values varchar_format(current timestamp,'yyyy-mm-dd hh24-mm-ss');
2012-08-28 12-08-37
|
To_char()
|
values to_char(current timestamp);
Aug 28, 2012 12:37:33 PM
|
Char()
|
values char(current timestamp);
2012-08-28-12.38.10.387000
values char(time('22:24:23'));
22.24.23
|
字符串转日期或时间
Date()
|
values date('2012-1-1');
2012-01-01
|
Time()
|
values time('22.22.22');
22:22:22
|
Timestamp()
|
values timestamp('2012-1-1-22.42.23.000890');
2012-01-01 22:42:23
|
16、时间计算
|
values current date+1 year+2 months+4 days;
2013-11-01
-----2012-08-28
|
17、时间差计算
Timestampdiff()
前提条件:1、不考虑闰年;2、假设每个月只有30天
1 = 秒的小数部分
2 = 秒
4 = 分
8 = 时
16 = 天
32 = 周
64 = 月
128 = 季度
256 = 年
|
timestampdiff(2,char(current timestamp - timestamp(task.create_)))
|
精确计算()返回值:整数
|
(DAYS(<timestamp1>) - DAYS(<timestamp2>)) * 86400 +
(MIDNIGHT_SECONDS(<timestamp1>) - MIDNIGHT_SECONDS(<timestamp2>))
|