🎃

[MySQL, JSON function] キーが数字文字列なjson objectへのアクセス

2020/10/08に公開

この記事の対象バージョン

  • Mysql 7.3

1. まずこれは普通のjson object の "key01" にアクセスする例。

mysql> select JSON_EXTRACT('{ "key01": "value01" }', '$.key01');
+---------------------------------------------------+
| JSON_EXTRACT('{ "key01": "value01" }', '$.key01') |
+---------------------------------------------------+
| "value01"                                         |
+---------------------------------------------------+

2. じゃあ これはどうやってとりだす?

{ "0": "value01" }

(注意) json array じゃなくてjson object です

mysql> select JSON_EXTRACT('{ "0": "value01" }', '$.0');
ERROR 3143 (42000): Invalid JSON path expression. The error is around character position 3.

これはできぬ

3. 解答) こうやればよい

mysql> select JSON_EXTRACT('{ "0": "value01" }', '$."0"');
+---------------------------------------------+
| JSON_EXTRACT('{ "0": "value01" }', '$."0"') |
+---------------------------------------------+
| "value01"                                   |
+---------------------------------------------+

はい、以上、それだけです。おわり。

まじで自分のメモ用なんですがこんなもの zenn にのっけてよいんでしょうか?
qiitaはなんでも書きましょうみたいな空気を感じていて、
zennってもっと質の高い情報載せる空気をかんじませんか? (私だけ?)

Discussion