SQLServerのJSONデータ
- 23-06-2022
- Toanngo92
- 0 Comments
JSONデータは、最新のWEB/モバイルアプリケーションでデータを交換するために使用されるテキストデータ形式です。
JSONを使用して、非構造化データをログファイルまたはMicrosoft AzureCosmosDBなどのNoQLデータベースに保存することもできます。
多くのRESTビジネスは、結果をJSONテキスト形式で返すか、入力をJSON形式で受け取ります。
SQL Serverの組み込み関数を使用して、次のことができます。
- JSONテキストを解析し、値を編集します。
- JSONオブジェクトの配列をテーブル形式に変換します。
- 変換されたJSONオブジェクトを使用してT-SQLクエリを実行します。
- T-SQLステートメントの出力をJSON形式でフォーマットします。
JSONを処理するいくつかの組み込み関数:
- ISJSON:JSON文字列の有効性を確認してください。
- JSON_VALUE:JSON文字列から単一の値を出力します。
- JSON_QUERY:JSON文字列からオブジェクトまたは配列を出力します
- JSON_MODIFY:JSON文字列値を変更します
Mục lục
JSON値を変更する
JSONテキストの要素を編集するには、JSON_MODIFY関数を使用して、JSOn文字列のプロパティの値を更新し、更新されたJSON文字列を返します。
例えば:
DECLARE @json nvarchar(max); set @json = '{"info" : {"address": [{"town": "Belgrade"}, {"town" : "Paris"}, {"town": "Marid"}]}}'; SET @json = JSON_MODIFY(@json, '$.info.address[1].town' , 'London'); select modifiedJson = @json
JSONを行と列のデータに変換するOPENJSON
例えば:
declare @json nvarchar(max); set @json = N'[ {"id": 2, "info": {"name": "john","surname": "smith"},"age": 25}, {"id": 5, "info": {"Jane": "john","surname": "smith"},"dob": "2005-11-04T12:00:00"} ]'; select * from OPENJSON(@json) with( id INT 'strict $.id', firstName nvarchar(50) '$.info.name', lastName nvarchar(50) '$.info.surname', age INT, dateofBirth datetime '$.dob' )
SQLServerデータをJSONにエクスポートする
例えば:
use AdventureWorks2019; SELECT BusinessEntityID, FirstName as "info.name" , LastName as "info.surname", ModifiedDate as dob from Person.Person for json PATH