mysql连接json

bsxbgnwa  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(214)

为了避免使用临时表,我希望将一些数据存储为变量内的json数组,并将其连接起来。数据如下所示:

[
  {
    "CarID": "9",
    "Tank": "11.4",
    "Distance": "120",
    "From": "Brussels",
    "To": "Bruges"
  },
  {
    "CarID": "22",
    "Tank": "15.9",
    "Distance": "70",
    "From": "Eupen",
    "To": "Cologne"
  }
]

我想在mysql中设置一个变量为该值,并能够执行以下操作:

SELECT
    (
        Cars.Consumption
        * JSON_UNQUOTE(JSON_something('???','$.Distance'))
    ) - JSON_UNQUOTE(JSON_something('???','$.Tank')) AS neededRefuel
FROM    Cars
WHERE   JSON_SEARCH(
            @myJson,
            'one',
            CAST(Cars.CarID AS JSON),
            NULL,
            '$[*].CarID'
        ) IS NOT NULL

这只是一个简单的例子。显然,在mysql中,作为整数的json值不容易检测,所以我设置了引号。
我想在视图中使用这种过滤器,所以临时表实际上不是一个选项。
使用mysql 8.0.11

lsmepo6l

lsmepo6l1#

我只是谦卑地对待json表,它似乎正是我想要的:)

相关问题