Maison >base de données >tutoriel mysql >Comment puis-je extraire efficacement des données de colonnes XML dans SQL Server ?
Maîtriser l'extraction de données XML dans SQL Server : un guide pratique
Extraire des points de données spécifiques à partir de colonnes XML dans SQL Server peut être complexe. Ce guide fournit des techniques T-SQL efficaces pour simplifier ce processus.
Pour interroger une valeur à partir d'une colonne XML (par exemple, « Rôles »), utilisez cette syntaxe :
<code class="language-sql">SELECT Roles FROM MyTable WHERE Roles.value('(/root/role)[1]', 'varchar(max)') LIKE 'StringToSearchFor'</code>
Rappelez-vous : les colonnes non XML nécessitent une conversion avant l'interrogation. Vous pouvez également cibler des attributs XML spécifiques.
Considérez cet exemple XML :
<code class="language-xml"><utilities.codesystems.codesystemcodes ....="" code="0001F" codesystem="2" codetags="-19-" iid="107"></utilities.codesystems.codesystemcodes></code>
Cette requête récupère les lignes où CodeSystem
est égal à « 2 » :
<code class="language-sql">SELECT [data] FROM [dbo].[CodeSystemCodes_data] WHERE CAST([data] AS XML).value('(/Utilities.CodeSystems.CodeSystemCodes/@CodeSystem)[1]', 'varchar(max)') = '2'</code>
L'opérateur CROSS APPLY
parcourt efficacement les nœuds XML. Cet exemple récupère tous les rôles contenant 'ga' :
<code class="language-sql">SELECT * FROM (SELECT pref.value('(text())[1]', 'varchar(32)') AS RoleName FROM MyTable CROSS APPLY Roles.nodes('/root/role') AS Roles(pref) ) AS Result WHERE RoleName LIKE '%ga%'</code>
Ces méthodes vous permettent d'interroger et d'extraire efficacement des données des colonnes XML de SQL Server, facilitant ainsi une analyse et une gestion sophistiquées des données.
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!