MySQL-如何使用JSON_EXTRACT获取两个索引之间的值



我正在尝试使用mysql JSON_extract提取JSON数组中两个索引之间的值。

SELECT JSON_EXTRACT('[10, 20, 30, 40,50, 60]', '$[1]');

此查询将顺利返回20作为结果。但是,如果我想得到介于第一个和第三个索引之间的所有数字,我该如何查询?

我期待着这样的东西:

SELECT JSON_EXTRACT('[10, 20, 30, 40,50, 60]', '$[1]..$[3]'); // Not the proper syntax

其将返回CCD_ 2。但不起作用。

我该如何做到这一点?

SELECT JSON_EXTRACT('[10, 20, 30, 40,50, 60]', CONCAT('$[', idx, ']'))
FROM ( SELECT 1 idx UNION SELECT 2 UNION SELECT 3 ) src;

当然,索引范围可以作为列表/范围提供,并在CTE/subquery中转换为行集。

最新更新