Maison > base de données > SQL > 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
Libérer: 2022-08-29 12:00:01
avant
5160 Les gens l'ont consulté

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)
);
Copier après la connexion

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"}');
Copier après la connexion

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
Copier après la connexion

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;
Copier après la connexion

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;
Copier après la connexion

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!

Étiquettes associées:
sql
source:jb51.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal