Yukii's Blog

Yet Another Tech Blog.

mysql で json の中のオブジェクトからその値を json 配列で取得する

2019/02/26

やりたいこと

mysql の json フィールドに json オブジェクトがあるとき、オブジェクトのキーは JSON_KEYS で取得ができるが、 一方でオブジェクトの値(value)の一覧を json 配列で取得したいと思った。

やり方

-> '$.*' を用いることで、これが実現可能。

クエリ例

with json_objs(json_col) as (
  select CAST('{"key1": "value1", "key2": "value2"}' AS JSON)
  UNION ALL
  select CAST('{"key3": "value3", "key4": "value4"}' AS JSON)
)
select json_col->'$.*' from json_objs

実行結果

+----------------------+
| json_col->'$.*'      |
+----------------------+
| ["value1", "value2"] |
| ["value3", "value4"] |
+----------------------+

tags:  mysql