首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JSON_TABLE列中的时间戳格式

JSON_TABLE列中的时间戳格式
EN

Stack Overflow用户
提问于 2020-10-05 14:16:52
回答 1查看 1.6K关注 0票数 0

我在oracle表中有一些JSON:

代码语言:javascript
复制
{"orders":[{"timestamp": "2016-08-10T06:15:00.4"}]}

并使用JSON_TABLE选择/创建视图:

代码语言:javascript
复制
SELECT jt.*
FROM table1
JSON_TABLE (table1.json_data, '$.orders[*]' ERROR ON ERROR
COLUMNS ( StartTime TIMESTAMP PATH '$.timestamp')) AS jt;

但是,无论我将日期/时间放在JSON中的格式是什么,我总是得到:

ORA-01830:在转换整个输入字符串之前结束日期格式图片

是否有一种方式来格式化json,或者我缺少的东西?如果我传入的日期像"2016-08-10",那么它将成功地创建一个日期列。

EN

回答 1

Stack Overflow用户

发布于 2020-10-05 14:26:31

在我的Oracle 19.6.0.0.0数据库上运行查询时,解析示例时没有任何问题(参见下面)。如果您使用的是旧版本的Oracle,则可能有助于应用最新的修补程序集。您还可能必须将其解析为字符串,然后根据接收日期的格式使用TO_DATE

代码语言:javascript
复制
SQL> SELECT jt.*
  2    FROM (SELECT '{"orders":[{"timestamp": "2016-08-10T06:15:00.4"}]}' AS json_data FROM DUAL) table1,
  3         JSON_TABLE (table1.json_data,
  4                     '$.orders[*]'
  5                     ERROR ON ERROR
  6                     COLUMNS (StartTime TIMESTAMP PATH '$.timestamp')) AS jt;


                         STARTTIME
__________________________________
10-AUG-16 06.15.00.400000000 AM
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64210446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档