Maison > Article > base de données > Exemples de méthodes permettant à SQL Server d'analyser/manipuler les données de champ au format Json
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.
Étude recommandée : "Tutoriel SQL"
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.
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!