Maison > base de données > tutoriel mysql > Comment convertir des valeurs séparées par des virgules en lignes dans SQL Server ?

Comment convertir des valeurs séparées par des virgules en lignes dans SQL Server ?

Linda Hamilton
Libérer: 2025-01-03 08:28:39
original
297 Les gens l'ont consulté

How to Convert Comma-Separated Values to Rows in SQL Server?

Convertir les valeurs séparées par des virgules en données structurées en lignes

Dans SQL Server, lorsque les données sont stockées dans un format séparé par des virgules dans une colonne , il peut être difficile d’extraire et de manipuler des valeurs individuelles. Cet article montre comment convertir ces données dans un format structuré en lignes à l'aide d'une requête de sélection.

Considérons une table nommée Sample avec une colonne appelée String contenant des virgules. valeurs séparées, telles que :

Id String
1 abc,def,ghi
2 jkl,mno,pqr

Pour extraire et présenter les valeurs individuelles sous forme de lignes, nous pouvons utiliser ce qui suit étapes :

  1. Enveloppez la colonne String dans des balises XML :

    CAST ('<M>' + REPLACE([string], ',', '</M><M>') + '</M>' AS XML)
    Copier après la connexion

    Cela crée un fragment XML où chaque valeur est encapsulée dans un < ;M> tag.

  2. Utilisez l'opérateur CROSS APPLY pour effectuer une requête hiérarchique :

    CROSS APPLY String.nodes ('/M') AS Split(a)
    Copier après la connexion

    Cela applique de manière croisée une méthode de nœuds sur le fragment XML, ce qui entraîne un nouveau ligne pour chaque balise, qui contient les valeurs individuelles.

  3. Combinez la colonne Id avec la colonne Split(a).value('text()') expression :

    SELECT A.[id], Split.a.value('.','VARCHAR(100)') AS String
    FROM (SELECT [id], CAST('...AS XML) AS String FROM Sample) AS A
    Copier après la connexion

    Cela fait correspondre l'identifiant avec les valeurs extraites et les renvoie séparément lignes.

Le résultat ressemblera au résultat souhaité :

Id ProcessedRows
1 abc
1 def
1 ghi
2 jkl
2 mno
2 pqr

Cette technique permet l'extraction et la présentation de valeurs séparées par des virgules sous forme de lignes, permettant une analyse efficace et manipulation 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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal