0
我有BD2表中的VARCHAR值如下面的格式如何VARCHAR转换为TIMESTAMP在DB2
121226145503+0530
我想这个VARCHAR值转换为时间戳格式像下面
2012/12/26 14:55:03
我有BD2表中的VARCHAR值如下面的格式如何VARCHAR转换为TIMESTAMP在DB2
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 ********
当我usaed第一步像下面DB2数据库错误:ERROR [22007] [IBM] [DB2/HPUX-IA64] SQL0969N有对应于SQL错误 “-20448” 无消息文本该工作站上的消息文件。原始令牌“121226145503 + 0530 DD-MM-YYYY HH:MI:SS”从模块“SQLRI1DC”返回错误。 SQLSTATE = 22007 –
我不确定是谁在这里戳 - 回答 - 呃,提供'错误的'日期/时间分析字符串或提问者,因为不识别格式差异和调整。 –
@Lilantha Lakmal -20448“检测到无效的日期时间格式,即指定了无效的字符串表示或值。”正如后续评论所示,_answerer_没有提供所需的格式字符串,因此需要进行调整;请参阅我最近对所需的TO_DATE语法的回答,但接下来是来自OP的额外要求以获取VARCHAR结果。 – CRPence