以下の形式のような BD2 テーブルに varchar 値があります
121226145503+0530
このvarchar値を以下のようなタイムスタンプ形式に変換したい
2012/12/26 14:55:03
DB2 9.7 では、TO_DATE 関数も使用できます。
date(to_date(column_with_date,'DD-MM-YYYY HH:MI:SS'))
また、TRANSLATE
機能を使用することができます
select
date(translate('DD/MM/YYYY',column-with-the-date,'xyz...'))
from
table
with d (cwd) as
(values( cast( '121226145503+0530' as varchar(20))))
select cwd as vc_input
, to_date(cwd, 'YYMMDDHH24MISS' ) as ts_from_vc
, varchar_format ( to_date(cwd, 'YYMMDDHH24MISS')
, 'YYYY/MM/DD HH24:MI:SS' ) as vc_from_ts
from d
; -- output from above query follows, as likeness of a report:
....+....1....+....2....+....3....+....4....+....5....+....6....+....
VC_INPUT TS_FROM_VC VC_FROM_TS
121226145503+0530 2012-12-26-14.55.03.000000 2012/12/26 14:55:03
******** End of data ********