2013-01-23 85 views

回答

0

在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 
+0

當我usaed第一步像下面DB2數據庫錯誤:ERROR [22007] [IBM] [DB2/HPUX-IA64] SQL0969N有對應於SQL錯誤 「-20448」 無消息文本該工作站上的消息文件。原始令牌「121226145503 + 0530 DD-MM-YYYY HH:MI:SS」從模塊「SQLRI1DC」返回錯誤。 SQLSTATE = 22007 –

+0

我不確定是誰在這裏戳 - 回答 - 呃,提供'錯誤的'日期/時間分析字符串或提問者,因爲不識別格式差異和調整。 –

+0

@Lilantha Lakmal -20448「檢測到無效的日期時間格式,即指定了無效的字符串表示或值。」正如後續評論所示,_answerer_沒有提供所需的格式字符串,因此需要進行調整;請參閱我最近對所需的TO_DATE語法的回答,但接下來是來自OP的額外要求以獲取VARCHAR結果。 – CRPence

0
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 ********