【问题标题】:mysql json_extract dynamic positionmysql json_extract动态位置
【发布时间】:2020-07-05 13:17:13
【问题描述】:
SELECT id, JSON_EXTRACT(column,'$.parent[3].child') AS child FROM table 
WHERE JSON_EXTRACT(column,'$.parent[3].child') IN (1)

这是我的 sql 查询。我还有一列jsonlength 如何在一个查询中连接这 2 列?我想将3 更改为jsonlength 中给出的动态数字

例如:

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

但是这个查询不起作用。

【问题讨论】:

    标签: mysql sql json string-concatenation


    【解决方案1】:

    您需要使用字符串连接形成 JSON 路径。在 MySQL 中,这是通过 CONCAT() function 完成的。

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

    【讨论】:

      猜你喜欢
      • 2020-03-24
      • 2020-07-22
      • 1970-01-01
      • 2019-02-04
      • 1970-01-01
      • 2020-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多