mysql-json\u提取动态位置

pinkon5k  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(365)
SELECT id, JSON_EXTRACT(column,'$.parent[3].child') AS child FROM table 
WHERE JSON_EXTRACT(column,'$.parent[3].child') IN (1)

这是我的sql查询。我还有一个专栏 jsonlength 如何在一个查询中连接这两列?我想改变 3 到中给出的动态数 jsonlength 例如:

SELECT id, JSON_EXTRACT(column,'$.parent['jsonlength'].child') AS child FROM table 
WHERE JSON_EXTRACT(column,'$.parent['jsonlength'].child') IN (1)

但这个查询不起作用。

lymgl2op

lymgl2op1#

您需要使用字符串连接来形成json路径。在mysql中,这是通过concat()函数完成的。

SELECT id, JSON_EXTRACT(column, CONCAT('$.parent[',jsonlength,'].child')) AS child FROM table 
WHERE JSON_EXTRACT(column,CONCAT('$.parent[',jsonlength,'].child')) IN (1)

相关问题