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データの処理には、データベース管理システムによって関数が異なる場合があります。上記の例は一般的なリレーショナルデータベースにおける一般的な構文です。ご利用のデータベースに合わせて適切な関数を選択してください。

bannerAds