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