Maison >base de données >tutoriel mysql >Comment extraire les valeurs d'attribut des données XML à l'aide de requêtes SQL ?
Récupération de valeurs d'attribut à partir de données XML dans SQL
Lorsque vous travaillez avec des données XML dans des bases de données SQL, il est souvent nécessaire d'extraire des valeurs d'attribut spécifiques. Par exemple, considérons le document XML suivant stocké dans une table :
<email> <account language="en" ... /> </email>
Pour récupérer la valeur de l'attribut de langue, nous pouvons utiliser une expression XQuery dans la requête SQL. XQuery fournit un moyen puissant de parcourir et d'extraire des informations à partir de documents XML.
DECLARE @xml XML = '<email> <account language="en" /> </email>' SELECT @xml.value('(/email/account/@language)[1]', 'nvarchar(max)')
Cette requête utilise la fonction value() pour évaluer l'expression XQuery et renvoyer la valeur du nœud correspondant à l'expression XPath spécifiée. Dans ce cas, l'expression XPath (/email/account/@langue)[1] sélectionne la première valeur d'attribut de langue sous l'élément de compte dans le document XML.
Alternativement, si les données XML sont stockées dans un tableau comme indiqué :
CREATE TABLE @t (m XML) INSERT INTO @t VALUES ('<email><account language="en" /></email>'), ('<email><account language="fr" /></email>')
Nous pouvons récupérer les valeurs d'attribut à l'aide d'une sous-requête corrélée comme suit :
SELECT m.value('(/email/account/@language)[1]', 'nvarchar(max)') FROM @t
En utilisant ces techniques, nous pouvons récupérer efficacement les valeurs d'attribut des données XML dans nos requêtes 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!