我有這個時間戳字串:
'2021-09-07T18:24:25.075 02:00'
應轉換為以下格式:
'dd.mm.yyyy hh.mi.ss'
到此為止,但 Oracle 似乎無法識別該格式。有任何想法嗎?
select to_char(to_timestamp('2021-09-07T18:24:25.075 02:00', 'yyyy-mm-ddThh:mi:ss'), 'dd.mm.yyyy hh.mi.ss') from dual
uj5u.com熱心網友回復:
在格式模型內的文字字符周圍使用雙引號,并TO_TIMESTAMP_TZ與TZH:TZM格式模型一起使用FF以匹配時間戳(并用于匹配小數秒和HH2424 小時制):
select to_char(
to_timestamp_tz(
'2021-09-07T18:24:25.075 02:00',
'yyyy-mm-dd"T"hh24:mi:ss.ffTZH:TZM'
),
'dd.mm.yyyy hh24.mi.ss'
) AS timestamp
from dual
輸出:
時間戳 07.09.2021 18.24.25
db<>在這里擺弄
你在評論中問:
現在必須處理 ORA-01830“Oracle 日期格式圖片在轉換整個輸入字串之前結束”錯誤。...也就是說,當我用我嘗試轉換的列切換時間戳字串時
從 Oracle 12 開始,您可以使用:
select to_char(
to_timestamp_tz(
column_name
DEFAULT NULL ON CONVERSION ERROR,
'yyyy-mm-dd"T"hh24:mi:ss.ffTZH:TZM'
),
'dd.mm.yyyy hh24.mi.ss'
) AS timestamp
from table_name
然后,列中與您的格式模型不匹配的所有值都將回傳NULL. 您可以使用它進行除錯并找到具有無效資料的行。
IE
select column_name
from table_name
WHERE to_timestamp_tz(
column_name
DEFAULT NULL ON CONVERSION ERROR,
'yyyy-mm-dd"T"hh24:mi:ss.ffTZH:TZM'
) IS NULL;
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/333127.html
標籤:甲骨文
