Artikel ini membawa anda pengetahuan yang berkaitan tentang SQL server Terutamanya memperkenalkan bahawa SQL SERVER tidak mempunyai fungsi parsing json sendiri. Anda perlu membina fungsi (fungsi bernilai jadual) sendiri berikut Artikel ini memperkenalkan maklumat yang berkaitan tentang penghuraian/manipulasi data medan SQL Server dalam format Json Saya harap ia akan membantu semua orang.
Pembelajaran yang disyorkan: "Tutorial SQL"
Menyimpan json dalam sqlserver, diperlukan Gunakan jenis rentetan untuk penyimpanan Secara amnya gunakan nvarchar() atau varchar() untuk storan. Jangan gunakan teks untuk storan.
terutamanya memperkenalkan 5 fungsi:
(1) openJson: buka rentetan Json
(2) IsJson: tentukan watak Adakah rentetan dalam format Json undang-undang? Mengembalikan 1 jika ya, 0 jika tidak, dan batal jika batal.
(3) Json_Value: Ekstrak nilai daripada rentetan Json.
(4) Json_Query: Ekstrak objek atau tatasusunan daripada rentetan Json.
(5) Json_Modify: Kemas kini nilai atribut dalam rentetan Json dan kembalikan rentetan Json yang dikemas kini.
Buat jadual wm_json_demo baharu:
CREATE TABLE demo_plus.dbo.wm_json_demo ( id int IDENTITY(1,1) NOT NULL, json_detail varchar(max) NOT NULL, CONSTRAINT PK_wm_json_demo PRIMARY KEY (id) );
Berikut mengambil wm_json_demo sebagai contoh untuk menunjukkan 5 fungsi di atas yang berkaitan dengan operasi json
INSERT INTO demo_plus.dbo.wm_json_demo (json_detail) VALUES('{"key":3,"value1":10,"value2":[{"vv21":13,"vv22":103}],"value3":null}'); INSERT INTO demo_plus.dbo.wm_json_demo (json_detail) VALUES('{"key":4,"value1":15,"value2":[{"vv21":13,"vv22":103}],"value3":"10"}'); INSERT INTO demo_plus.dbo.wm_json_demo (json_detail) VALUES('{"key":7,"value1":20,"value2":[{"vv21":13,"vv22":103}],"value3":"15"}');
IsJson: Tentukan sama ada rentetan itu Ia bukan format Json yang sah. Mengembalikan 1 jika ya, 0 jika tidak, dan batal jika batal.
SELECT IsJson(json_detail) as IsJson from demo_plus.dbo.wm_json_demo
Json_Value: Ekstrak nilai daripada medan Json
Penggunaan: Json_Value (cloumn_name,'$.json_field_name') daripada jadual
Json_Query: Ekstrak objek atau tatasusunan daripada rentetan Json.
Penggunaan: Json_Query (cloumn_name,'$.json_field_name') daripada jadual
SELECT JSON_VALUE(json_detail,'$.key') as 'key', JSON_VALUE(json_detail,'$.value1') as value1, JSON_value(json_detail,'$.value2') as value2, JSON_QUERY(json_detail,'$.value2') as value2_query, JSON_VALUE(json_detail,'$.value3') as value3 from demo_plus.dbo.wm_json_demo;
Json_Modify: Kemas kini rentetan Json nilai atribut dalam dan mengembalikan rentetan Json yang dikemas kini.
JSON_MODIFY(column_name, '$.json_field', 'change_info');
SELECT JSON_MODIFY(json_detail, '$.value1', 11) as json_detail from demo_plus.dbo.wm_json_demo where JSON_VALUE(json_detail, '$.key')= 7;
Disyorkan kajian: "Tutorial SQL》
Atas ialah kandungan terperinci Contoh kaedah untuk SQL Server menghuraikan/memanipulasi data medan dalam format Json. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!