Rumah >pangkalan data >SQL >Contoh kaedah untuk SQL Server menghuraikan/memanipulasi data medan dalam format Json

Contoh kaedah untuk SQL Server menghuraikan/memanipulasi data medan dalam format Json

WBOY
WBOYke hadapan
2022-08-29 12:00:015181semak imbas

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.

Contoh kaedah untuk SQL Server menghuraikan/memanipulasi data medan dalam format Json

Pembelajaran yang disyorkan: "Tutorial SQL"

1 storan json

Menyimpan json dalam sqlserver, diperlukan Gunakan jenis rentetan untuk penyimpanan Secara amnya gunakan nvarchar() atau varchar() untuk storan. Jangan gunakan teks untuk storan.

2 operasi json

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!

Kenyataan:
Artikel ini dikembalikan pada:jb51.net. Jika ada pelanggaran, sila hubungi admin@php.cn Padam