gpt4 book ai didi

sql - ORA-01821 : date format not recognized error for ISO 8601 date with local time

转载 作者:行者123 更新时间:2023-12-03 19:54:06 26 4
gpt4 key购买 nike

我正在尝试根据我的 Java 代码中的参数值转换 SQL 中的日期。但是,当执行以下查询时,我收到错误消息。请求您帮助我解决此查询。

 SELECT TO_DATE ('2015-08-26T05:46:30.488+0100',
'YYYY-MM-DD"T"hh24:mi:ss.sTZH:TZM')
FROM DUAL
*
Error at line 2
ORA-01821: date format not recognized

日期和时间格式信息:

http://www.w3.org/TR/NOTE-datetime

最佳答案

您有两个问题:TO_DATE不识别任何时区组件或小数秒,您必须将其转换为带时区的时间戳,并且 .s无论如何,这不是您表示小数秒的方式,您需要 .ff .有效格式模型 are shown in the documentation .
把这些放在一起你可以做:

SELECT TO_TIMESTAMP_TZ ('2015-08-26T05:46:30.488+0100',
'YYYY-MM-DD"T"hh24:mi:ss.ffTZHTZM')
FROM DUAL;

TO_TIMESTAMP_TZ('2015-08-26T05:46:30.488+0100','YYYY-MM-DD"T"HH24:MI:SS.FFTZHTZ
-------------------------------------------------------------------------------
26-AUG-15 05.46.30.488000000 +01:00
如果你真的想要它作为日期,你需要决定如何处理时区信息 - 假设它是本地时间(基本上忽略它),或者转换为 UTC 或其他时区。不过,您可能真的希望将其保留为带时区的时间戳。

关于sql - ORA-01821 : date format not recognized error for ISO 8601 date with local time,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39164692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com