[英]How to extract data from MYSQL Json extract with Key name starting with @?
下面的查詢在鍵名稱以 [& 符號] @type 開頭的地方失敗。 有沒有辦法在不更新表中的 Json 鍵名的情況下獲取數據。
SELECT JSON_ARRAYAGG(JSON_OBJECT (
'id',JSON_EXTRACT(INV_MASTER, "$[0].id[0]") ,
'href',JSON_EXTRACT(INV_MASTER, "$[0].href[0]"),
'@type',JSON_EXTRACT(INV_MASTER, "$[0].@type[0]"),
'entityChar',JSON_EXTRACT(INV_MASTER, "$[0].entityChar")
))
as MASTER from PROFILE;
這似乎是 mysql 不允許在 Json 函數中使用一些特殊字符。
沒有這樣的問題。 您只是簡單地使用了不正確的 JSON 路徑。
演示:
CREATE TABLE test (id INT, val JSON);
INSERT INTO test VALUES
(1, '[{"id":11, "@value":"value 1"}, {"id":111, "@value":"value 11"}]'),
(2, '[{"id":22, "@value":"value 2"}, {"id":222, "@value":"value 22"}]');
SELECT id, val->>'$[0]."@value"' value1, val->>'$[1]."@value"' value2
FROM test;
ID | 價值1 | 值2 |
---|---|---|
1個 | 值 1 | 值 11 |
2個 | 值 2 | 值 22 |
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.