Les données stockées avec plusieurs valeurs séparées par des virgules peuvent poser des problèmes lors de leur récupération dans un format structuré. Cet article vise à résoudre ce problème en fournissant une solution pour convertir les valeurs séparées par des virgules dans une colonne SQL Server en lignes distinctes.
Dans l'exemple fourni, la table Sample contient une colonne nommée String avec des données telles que "abc ,def,ghi" et "jkl,mno,pqr." L'objectif est de transformer ces données en un tableau à plusieurs lignes, où chaque ligne contient une seule valeur de la colonne String.
La requête SQL Server suivante peut réaliser cette transformation :
SELECT A.[id], Split.a.value('.', 'VARCHAR(100)') AS processedrows FROM (SELECT [id], CAST ('<M>' + REPLACE([string], ',', '</M><M>') + '</M>' AS XML) AS String FROM Sample) AS A CROSS APPLY String.nodes ('/M') AS Split(a);
Cette requête utilise des techniques avancées pour convertir les valeurs séparées par des virgules en XML, puis extraire chaque valeur sous forme de ligne distincte. Reportez-vous à http://www.sqljason.com/2010/05/converting-single-comma-separated-row.html pour plus de détails sur cette approche.
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!