SQLでJSONのフィールド値を取得する方法
SQLでは、JSON_VALUE関数を使用してJSONからフィールド値を取り出すことができます。
正しく書きましょう。
JSON_VALUE(json_column, '$.key')
JSONデータを含む列名が`json_column`、抽出するフィールド名が`key`です。
例えば、JSONデータを含む my_table というテーブルがあり、その data 列に下記の JSON データが含まれているとします。
{
"name": "John",
"age": 25,
"address": {
"city": "New York",
"country": "USA"
}
}
nameフィールドの値を取得するには、次のクエリを使用できます。
SELECT JSON_VALUE(data, '$.name') AS name
FROM my_table
これにより、name フィールドの値として John が返されます。
ネストされたフィールドを取得する場合は、「.」でパスを指定します。例えば、address フィールド内の city フィールドの値を取得するには以下のクエリを使用します。
SELECT JSON_VALUE(data, '$.address.city') AS city
FROM my_table
この操作でcityフィールドの値としてNew Yorkが返されます。
注意、JSONデータの処理には、データベース管理システムによって関数が異なる場合があります。上記の例は一般的なリレーショナルデータベースにおける一般的な構文です。ご利用のデータベースに合わせて適切な関数を選択してください。