あなたはJSONが発生した場合はSQL、あなたはどのように行うのでしょうか?

1、JSON文字列は次のように:

DECLARE @JsonInfo NVARCHAR(2000 
SET @JsonInfo = N '
                 {
                     " CalcPayInput " :{
                         " ServiceCode "" 2131296 " " アイテム" :[ 
                            { 
                                " 長さ"10 " "50 " "80
                            } 
                        ] 
                    }、
                    " BusinessBody " :{
                         " WaybillNumber "" SZY222019082001135 " 
                    } 
                } 
                '   
SELECTレン(@JsonInfo)


/ * 実際の記憶はこれを使用することが推奨され、圧縮線保存* / 
SET @JsonInfo = N ' { "CalcPayInputを": { "ServiceCode": "2131296" 、 "アイテム":[{ "長さ":10、 "幅":50、 "高":80}]}、 "BusinessBody":{ "WaybillNumber": "SZY222019082001135"}} "  
SELECTのみ(@JsonInfo)

 

図2に示すように、得られた値JSON文字列フィールドServiceCode

注意:SQL Serverの2016以降のバージョンのサポートを(古いバージョンをアップグレードする必要があります)、それは文字列が有効なJSONが含まれている場合は、JSON JSON文の選択ISJSON(@JsonInfo)があるかどうかを検証解析する前に、それは返す1、そうでない場合、それは返す0を式がNULLの場合、NULLが返されます。

JSON_VALUE SELECT(@JsonInfo、' $ .CalcPayInput.ServiceCode ')ServiceCode

 

3、Lengthフィールド列JSONの値を求めます

注意:アイテムが設定されている階層は、取得の最初のセットは、[ 0 ]、インデックスは0から始まる

(@JsonInfo、SELECT JSON_VALUE ' $ .CalcPayInput.Items [0] .LENGTH ')の長さ

 

図4に示すように、値フィールドのJSON文字列を取得するWaybillNumber

注:サブオブジェクト層の第一の複数のJSON文字列が存在する

SELECT JSON_VALUE(@JsonInfo、$ .BusinessBody.WaybillNumber )WaybillNumber

 

5、変性WaybillNumber JSON文字列フィールドの値YZY222019082001135

注:サブオブジェクト層の第一の複数のJSON文字列が存在する

 SELECT JSON_MODIFY(@JsonInfo、$ .BusinessBody.WaybillNumber YZY222019082001135 )JsonInfo

 

6、文字列が削除さWaybillNumberフィールドJSONであります

注意:NULLに設定されているJSON_MODIFY機能を使用するために不要なフィールドを配置する

(@JsonInfo、SELECT JSON_MODIFY ' $ .BusinessBody.WaybillNumber 'ヌルを)JsonInfo

 

7、JSON文字列フィールドの製品コードを追加します

注意:JSON_MODIFY機能を使用するために不要なフィールドを配置すると、追加

SELECT JSON_MODIFY(@JsonInfo、' $ .BusinessBody.ProductCodeを'' 256 354 ')JsonInfo

 

8、リファレンスドキュメント

HTTPS:// docs.microsoft.com/zh-cn/sql/t-sql/functions/isjson-transact-sql?view=sql-server-2017 
ます。https:// docs.microsoft.com/zh-cn/sql / T-SQL /機能/ jsonの価値のTransact-SQLビュー= SQLサーバ-2017? 
のhttps:// docs.microsoft.com/zh-cn/sql/t-sql/functions/json-query-transact- ?SQLビュー= SQLサーバ-2017 
のhttps:// docs.microsoft.com/zh-cn/sql/t-sql/functions/json-modify-transact-sql?view=sql-server-2017

 

マイクロ手紙:13722885914は私のアルバムを見る
HTTPS:ジェーンの本を// www.jianshu.com/u/dbfbe12c187dは、 
私が知っている、私の能力を最大限に解決し、質問をし、私を追加することを歓迎します。

 

おすすめ

転載: www.cnblogs.com/zhanfuzhi/p/zhan3.html