SQL JSON_TABLE 查询需要两个表来运行查询

时间:2021-05-03 11:04:08

标签: sql json oracle12c

我在运行此查询时遇到了这种情况,出现错误 json syntax error, the provided data has invalid syntax and could not be parsed

    select D.*
  from J_PURCHASEORDER p,
       JSON_TABLE(
         p.PO_DOCUMENT ,
         '$' columns(PO_NUMBER    NUMBER(10)            path  '$.PONumber' ) ) D
 where PO_NUMBER between 450 and 455

但是当我运行查询时

    select D.*
  from J_PURCHASEORDER p,O_OrderList l
       JSON_TABLE(
         p.PO_DOCUMENT ,
         '$' columns(PO_NUMBER    NUMBER(10)            path  '$.PONumber' ) ) D
 where PO_NUMBER between 450 and 455

查询似乎运行良好。 有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

我能够在查询中使用 where p.PO_DOCUMENT is json 消除 json 语法错误。这样,如果我的列不是 json(由于任何原因),它会跳过它,现在我可以毫无问题地运行查询。

相关问题