SQL ServerでJSON文字列を処理の方法
SQL ServerではJSON文字列を処理するために組み込みのJSON関数が使用できます。
- JSON_VALUE
- JSON_QUERY
- OPENJSON
- JSON_VALUE(json_expression, path) 関数: JSON文字列から指定したパスの値を取得します。
- JSON_QUERY(json_expression, path)関数は、JSON文字列から、指定したパスのオブジェクトや配列を取り出します。
- JSON文字列をテーブル形式で解析して後続の処理がしやすいようにするOPENJSON(json_expression) 関数
サンプル:
DECLARE @json NVARCHAR(MAX) = '{"name": "John", "age": 30, "city": "New York"}';
SELECT JSON_VALUE(@json, '$.name') AS Name,
JSON_VALUE(@json, '$.age') AS Age,
JSON_VALUE(@json, '$.city') AS City;
SELECT JSON_QUERY(@json, '$.name') AS Name,
JSON_QUERY(@json, '$.age') AS Age,
JSON_QUERY(@json, '$.city') AS City;
SELECT *
FROM OPENJSON(@json);
- JSON_QUERY
- JSON 向けに
例:この本は非常に興味を惹かれます。
ネイティブな日本語への言い換え:この本はたいへん興味深い。
SELECT JSON_QUERY('{"name": "John", "age": 30, "city": "New York"}') AS JsonString;
SELECT JSON_QUERY((SELECT Name, Age, City FROM Persons FOR JSON AUTO)) AS JsonString;
これらはSQL ServerでJSON文字列を扱う基本的な方法であり、具体的なニーズに応じて、JSONデータを処理および操作するためにさまざまなJSON関数が使用可能です。