日期字符串'2019-01-21T19:02:25Z'中使用的日期格式是什么

时间:2019-01-23 11:51:14

标签: sql oracle iso8601 sql-date-functions

我无法从日期字符串 2019-01-21T19:02:25Z

获取日期对象
select to_char(to_date('2019-01-21T19:02:25Z','yyyy-mm-ddThh24:mi:ssZ'),'dd/mm/yyyy hh24:mi:ss') from dual;

收益

  

ORA-01821:日期格式无法识别   01821. 00000-“无法识别日期格式”   *原因:
  *动作:

我可以知道使用什么日期格式。

1 个答案:

答案 0 :(得分:4)

使用引号将TZ用作文字:

SELECT TO_CHAR(
         TO_DATE(
           '2019-01-21T19:02:25Z',
            'yyyy-mm-dd"T"hh24:mi:ss"Z"'
         ),
         'dd/mm/yyyy hh24:mi:ss'
       )
FROM   DUAL;

,或者将T作为文字进行匹配,然后将TO_TIMESTAMP_TZTZHTZM格式模型配合使用,以匹配时区的小时和分钟组成部分(或者改为,TZR以匹配时区):

SELECT TO_CHAR(
         TO_TIMESTAMP_TZ(
           '2019-01-21T19:02:25Z',
            'yyyy-mm-dd"T"hh24:mi:ssTZHTZM'
         ),
         'dd/mm/yyyy hh24:mi:ss'
       )
FROM   DUAL;

db<>fiddle