Sql 如何在Oracle中将带有一些服务符号的字符串转换为带有时区的时间戳?

Sql 如何在Oracle中将带有一些服务符号的字符串转换为带有时区的时间戳?,sql,oracle,timestamp,Sql,Oracle,Timestamp,我有一个字符串'2020-10-12T13:55:28+03:00',其中的“t”字符用于分隔日期和时间。如何将输入转换为带时区的时间戳?我试过: SELECT TO_TIMESTAMP_TZ('2020-10-12T13:55:28+03:00','YYYY-MM-DDTHH24:MI:SSTZH:TZM') FROM DUAL; 但它不起作用。我可以使用不带“t”的类似表达式: 但是我需要转换带有符号“t”的字符串。您只需要对字母t使用双引号: SELECT TO_TIMESTAMP

我有一个字符串'2020-10-12T13:55:28+03:00',其中的“t”字符用于分隔日期和时间。如何将输入转换为带时区的时间戳?我试过:

SELECT TO_TIMESTAMP_TZ('2020-10-12T13:55:28+03:00','YYYY-MM-DDTHH24:MI:SSTZH:TZM') 
  FROM DUAL;
但它不起作用。我可以使用不带“t”的类似表达式:


但是我需要转换带有符号“t”的字符串。

您只需要对字母
t
使用双引号:

SELECT TO_TIMESTAMP_TZ('2020-10-12T13:55:28+03:00','YYYY-MM-DD"T"HH24:MI:SSTZH:TZM') 
    AS "Result"
  FROM DUAL;

Result
----------------------------------------------
12-OCT-20 01.55.28.000000000 PM +03:00
SELECT TO_TIMESTAMP_TZ('2020-10-12T13:55:28+03:00','YYYY-MM-DD"T"HH24:MI:SSTZH:TZM') 
    AS "Result"
  FROM DUAL;

Result
----------------------------------------------
12-OCT-20 01.55.28.000000000 PM +03:00