Pooya Estakhri Asked: 2022-06-02 21:54:58 +0800 CST2022-06-02 21:54:58 +0800 CST 2022-06-02 21:54:58 +0800 CST 指定来自不同列的 Json 数组的范围 772 Mysql 8 可以提取保存在 JSON 列中的部分数组,如下所示: SELECT jcol->>'$[1 to 5]' FROM `db`.`table` 其中 1 和 5 是数组中所需元素范围的边界。 我的问题是如何通过不同列的数字指定范围。像这样的一些事情: SELECT jcol->>'$[table2.from to table2.to]' FROM `db`.`table` mysql json 1 个回答 Voted Best Answer Akina 2022-06-03T03:43:59+08:002022-06-03T03:43:59+08:00 您必须使用通用字符串处理来构建 JSON 路径。 SELECT JSON_UNQUOTE(JSON_EXTRACT(jcol, CONCAT('$[', table2.from, ' to ', table2.to, ']'))) FROM db.table JSON 路径是文字的,它不会作为表达式进行评估,因此您必须使用它CONCAT()来构建路径。 并且表达式用法不允许使用->>运算符,必须使用JSON_UNQUOTE(JSON_EXTRACT())。
您必须使用通用字符串处理来构建 JSON 路径。
JSON 路径是文字的,它不会作为表达式进行评估,因此您必须使用它
CONCAT()
来构建路径。并且表达式用法不允许使用
->>
运算符,必须使用JSON_UNQUOTE(JSON_EXTRACT())
。