DB2開發常用日期函數
獲取時間
1、獲取當期日期:
values current date;
2012-08-28
www.2cto.com
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 www.2cto.com
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
www.2cto.com
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)的整數,以星期一作為一周的開始
values week_iso(timestamp('2012-1-8'));
1 www.2cto.com
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 = 秒 www.2cto.com
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>))