Maison  >  Article  >  base de données  >  Exemples de méthodes permettant à SQL Server d'analyser/manipuler les données de champ au format Json

Exemples de méthodes permettant à SQL Server d'analyser/manipuler les données de champ au format Json

WBOY
WBOYavant
2022-08-29 12:00:015121parcourir

Cet article vous apporte des connaissances pertinentes sur SQL server. Il présente principalement que SQL SERVER n'a pas sa propre fonction d'analyse json. Vous devez créer une fonction maison (fonction table). Analyse du serveur/ J'espère que cela sera utile à tout le monde concernant les informations pertinentes sur les données du champ opératoire au format Json.

Exemples de méthodes permettant à SQL Server d'analyser/manipuler les données de champ au format Json

Étude recommandée : "Tutoriel SQL"

1 stockage json

Pour stocker json dans sqlserver, vous devez utiliser le type de chaîne pour le stockage, utilisez généralement nvarchar() ou varchar() pour le stockage, ne le faites pas utiliser du texte Lors de l'utilisation de texte pour le stockage, la fonction json n'est pas prise en charge.

2 json opération

introduit principalement 5 fonctions :

(1) openJson : ouvrir la chaîne Json

(2) IsJson : déterminer si une chaîne est au format Json légal. Renvoie 1 si oui, 0 si non et null si null.

(3) Json_Value : extraire la valeur de la chaîne Json.

(4) Json_Query : extrayez des objets ou des tableaux à partir de chaînes Json.

(5) Json_Modify : mettez à jour la valeur de l'attribut dans la chaîne Json et renvoyez la chaîne Json mise à jour.

Créez une nouvelle table wm_json_demo :

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)
);

Ce qui suit prend wm_json_demo comme exemple pour démontrer les cinq fonctions ci-dessus liées aux opérations 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 : Déterminez si une chaîne est dans un format Json légal. Renvoie 1 si oui, 0 si non et null si null.

SELECT
	IsJson(json_detail) as IsJson
from
	demo_plus.dbo.wm_json_demo

Json_Value : extraire la valeur du champ Json

Utilisation : Json_Value (cloumn_name, '$.json_field_name') de la table

Json_Query : extraire un objet ou un tableau de la chaîne Json.

Utilisation : Json_Query (cloumn_name,'$.json_field_name') from table

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 : mettez à jour la valeur de l'attribut dans la chaîne Json et renvoyez la chaîne Json mise à jour.

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;

Apprentissage recommandé : "Tutoriel SQL"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer