簡體   English   中英

為什么我在使用這個 JSON_OBJECT 時遇到錯誤

[英]Why am i getting error with this JSON_OBJECT usage

我正在嘗試從 SQL 查詢生成 JSON output 。 我在這個站點上的一個線程中讀到,下面應該返回一個 JSON 文件:

SELECT JSON_OBJECT(*) FROM hr.employees ;

但是,我收到以下錯誤:

ORA-00936: 缺少表達式
00936. 00000 - “缺少表達式”

*原因:

*行動:
行錯誤:12 列:20

我正在運行 Oracle 12.c 12.1.0.2.0-64 位版本。

您不能使用 JSON_OBJECT(*) 從數據庫中查詢 JSON OBJECT。 這是JSON_OBJECT的示例。

評估鍵/值對的(可能為空)列表並返回包含這些對的 JSON object。 如果任何鍵名稱為 NULL 或 arguments 的數量為奇數,則會發生錯誤。

mysql> SELECT JSON_OBJECT('id', 87, 'name', 'carrot');
+-----------------------------------------+
| JSON_OBJECT('id', 87, 'name', 'carrot') |
+-----------------------------------------+
| {"id": 87, "name": "carrot"}            |
+-----------------------------------------+

Oracle 19c 似乎支持通配符。 我正在使用 Oracle 18c 並且遇到通配符的類似錯誤。

如文檔中所述,也不支持使用 json_object(attrName: someValue) 進行查詢。 它只支持 json_object(attrName VALUE someValue)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM