Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment extraire une liste de valeurs en lignes à partir de XML à l'aide de XQuery ?

Utilisez ceci :

SELECT 
    node.value('.','varchar(100)') AS Val
FROM
    @x.nodes('/PartnerEmails/Email') AS PE(Node)    

Puisque vous avez plusieurs nœuds dans <PartnerEmails> , vous devez utiliser le .nodes() fonction pour créer une table "en ligne" de fragments XML - chaque "ligne" de cette table contient un <Email> nœud sur lequel vous pouvez ensuite interroger (et extraire le contenu du nœud XML).