Db2 日期数据类型格式化
1、 计算日期差( Yyyy-mm-dd char数据)
select days( date('2011-05-20'))- days(date(current date)) from sysibm.dual ;
2、 日期递增
select char( date ( days(current date) +1 ) )from sysibm.dual ;
select char( date ( days(‘2011-05-20’) +1 ) )from sysibm.dual ;
3、 Yyyy-mm-dd 转换程yyyymmdd
select replace(char(current date),'-','') from sysibm.dual;
select replace(char(‘2011-05-20’),'-','') from sysibm.dual;
4、 Yyyymmdd 转换程yyyy-mm-dd
select date( substr('20110530',1,4) || '-' || substr('20110530',5,2)|| '-' || substr('20110530',7,2)) from sysibm.dual;
另外一种方法
select date( TIMESTAMP_FORMAT('20110530','yyyy-mm-dd')) from sysibm.dual;
5、 Yyyymmdd char数据,计算时间差
select days(date( substr('20110530',1,4) || '-' || substr('20110530',5,2)|| '-' || substr('20110530',7,2))) -days(date(current date))from sysibm.dual;
另外一种方法
select days(TIMESTAMP_FORMAT('20110530','yyyy-mm-dd')) -days(date(current date))from sysibm.dual;
6、 Yyyymmdd char数据, 日期递增后 还是Yyyymmdd 格式的 char数据,
select replace(char( date( days( char( substr('20110530',1,4) || '-' || substr('20110530',5,2)|| '-' || substr('20110530',7,2))) + 1) ),'-','')from sysibm.dual;
另外一种方法
select replace(char( date( days(TIMESTAMP_FORMAT('20110530','yyyy-mm-dd')) + 1) ),'-','')from sysibm.dual;