MySQL JSON形式のデータから値を抽出する
MySQLで、JSON形式のデータから値を抽出する手順を記述してます。
環境
- OS ubuntu21.10
- MySQL Ver 8.0.27-0ubuntu0.21.10.1 for Linux on x86_64 ((Ubuntu))
- MySQL Workbench 8.0.27
手順
JSON形式のデータから値を抽出するには、「JSON_VALUE( )」を使用します。
JSON_VALUE()
実際に、実行して取得してみます。
SELECT
JSON_VALUE( '{ "name" : "mebee", "age" : 20 }', '$.name' ),
JSON_VALUE( '{ "name" : "mebee", "age" : 20 }', '$.age' )
実行結果を確認すると、取得されていることが確認できます。
存在しない値
存在しない値を指定すると「null」が返ります。
SELECT
JSON_VALUE( '{ "name" : "mebee", "age" : 20 }', '$.hoge' )
実行結果
配列
配列データでも取得することが可能です。
SELECT
JSON_VALUE( '{ "name" : "mebee", "skill" : ["java","vue","react"] }', '$.skill[0]' ),
JSON_VALUE( '{ "name" : "mebee", "skill" : ["java","vue","react"] }', '$.skill[1]' ),
JSON_VALUE( '{ "name" : "mebee", "skill" : ["java","vue","react"] }', '$.skill[2]' )
実行結果
ネスト
ネストされたデータも取得可能です。
SELECT
JSON_VALUE(
'{
"id" : 1,
"person" : {
"name" : "mebee",
"age" : 25
}
}',
'$.person.name'
);
実行結果
-
前の記事
php gethostbyaddrでIPアドレスからホスト名を取得する 2021.11.17
-
次の記事
PowerShell NICを一覧表示する 2021.11.17
コメントを書く