Obtention de valeurs d'attribut à partir de données XML dans SQL
Lorsque vous travaillez avec des données XML dans des tables de base de données, il peut être nécessaire de récupérer la valeur de attributs spécifiques dans le contenu XML. Un défi possible consiste à extraire la valeur d'un attribut lorsque les données sont stockées en tant que type de données XML.
Format de données XML
Considérez l'extrait XML suivant stocké dans une base de données :
<email> <account language="en" ... /> </email>
Interrogation de l'attribut Valeur
Pour récupérer la valeur de l'attribut "langue", vous pouvez utiliser XQuery dans votre instruction SQL. XQuery est un langage de requête XML spécialement conçu pour interroger et traiter des données XML.
Expression XQuery
L'expression XQuery suivante récupère la valeur de l'attribut "langue" du Données XML :
/email/account/@language
Requête SQL
Incorporation du XQuery dans votre requête SQL, vous pouvez obtenir la valeur de l'attribut comme suit :
declare @xml xml = '<email> <account language="en" /> </email>' select @xml.value('(/email/account/@language)[1]', 'nvarchar(max)')
Exemples supplémentaires
Supposons que vous ayez une table nommée "@t" contenant plusieurs lignes XML :
insert @t values ('<email><account language="en" /></email>'), ('<email><account language="fr" /></email>')
Pour extraire les valeurs d'attribut de chaque ligne, vous pouvez exécuter ce qui suit requête :
select m.value('(/email/account/@language)[1]', 'nvarchar(max)') from @t
Sortie
La sortie de la requête ci-dessus sera une liste de valeurs d'attribut :
en fr
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!