SQL ServerでJSONオブジェクトをカラム値に変換する方法


  1. JSON_VALUE関数を使用する方法: JSON_VALUE関数を使用すると、JSONオブジェクト内の特定のプロパティの値を取得できます。以下は使用例です。
SELECT JSON_VALUE(json_column, '$.property_name') AS column_value
FROM your_table

上記のコードでは、json_columnはJSONデータを格納しているカラム名、property_nameは抽出したいプロパティの名前です。your_tableは対象のテーブル名です。

  1. OPENJSON関数を使用する方法: OPENJSON関数を使用すると、JSONデータをテーブルの形式に展開し、各プロパティをカラムとして取得できます。以下は使用例です。
SELECT *
FROM your_table
CROSS APPLY OPENJSON(json_column)
WITH (
  column1 varchar(50) '$.property1',
  column2 int '$.property2',
  ...
) AS json_data

上記のコードでは、column1column2などは展開したいプロパティの名前であり、your_tableは対象のテーブル名です。必要に応じて、プロパティのデータ型を適切に指定してください。

これらの方法を使用すると、JSONオブジェクト内のデータをカラム値として取得できます。必要に応じて、他のSQLクエリと組み合わせて使用することもできます。