2013-01-23 38 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 ********