【问题标题】:Oracle SQL - How to format date like 2020-06-03T17:39:26Z to a date using to_dateOracle SQL - 如何使用 to_date 将日期(如 2020-06-03T17:39:26Z)格式化为日期
【发布时间】:2020-06-03 18:28:12
【问题描述】:

我正在尝试使用 to_date 将格式为 2020-06-03T17:39:26Z 的日期字符串转换为 Oracle SQL 中的日期。我试过to_date('2020-06-03T17:39:26Z', 'yyyy-mm-ddThh24:mi:ssZ'),但这不起作用。这个日期格式是什么,似乎有很多疑问;但我找不到 Oracle SQL 的答案?我怎么能忽略 T 和 Z 或者这在某种程度上很重要?基本上我怎样才能将其转换为日期?

【问题讨论】:

标签: sql oracle


【解决方案1】:

数据值中的T和Z会违反类型转换,需要用双引号格式化,

select to_date('2020-06-03T17:39:26Z', 'YYYY-MM-DD"T"HH24:MI:SS"Z"') from dual;

您也可以使用子字符串来获取数据值并进行转换,

select to_date(substr('2020-06-03T17:39:26Z', 0, 10), 'YYYY-MM-DD HH24:MI:SS') from dual;

如果您需要时间戳,请在下面使用

select to_date(substr('2020-06-03T17:39:26Z', 0, 10)||substr('2020-06-03T17:39:26Z', instr('2020-06-03T17:39:26Z', 'T')+1,8), 'YYYY-MM-DD HH24:MI:SS') from dual;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多