Mysql
指定來自不同列的 Json 數組的範圍
Mysql 8 可以提取保存在 JSON 列中的部分數組,如下所示:
SELECT jcol->>'$[1 to 5]' FROM
db.
table`` 其中 1 和 5 是數組中所需元素範圍的邊界。我的問題是如何通過不同列的數字指定範圍。像這樣的一些事情:
SELECT jcol->>'$[table2.from to table2.to]' FROM
db.
table``
您必須使用通用字元串處理來建構 JSON 路徑。
SELECT JSON_UNQUOTE(JSON_EXTRACT(jcol, CONCAT('$[', table2.from, ' to ', table2.to, ']'))) FROM db.table
JSON 路徑是文字的,它不會作為表達式進行評估,因此您必須使用它
CONCAT()
來建構路徑。並且表達式用法不允許使用
->>
運算符,必須使用JSON_UNQUOTE(JSON_EXTRACT())
。