1
votes

Insérer des données dans une table à partir d'une chaîne séparée par des virgules (T-SQL)

J'ai une table avec une colonne entière et les données comme ci-dessous:

4,89, 8, 1

Comment puis-je insérer des entiers ci-dessus dans une colonne.


1 commentaires

Qu'est-ce que tu as essayé jusque-là? Où es-tu coincé?


3 Réponses :


2
votes

Ceci peut être réalisé avec un Constructeur de valeur de table

Exemple:

Select *
From (Values (1),(2),(3),(4)) tabA (ColA)


0 commentaires

-2
votes
Select *
From (Values (1),(2),(3),(4)) table (ColumnA)

1 commentaires

Veuillez ajouter une brève description à votre réponse pour la rendre plus utile



1
votes

Automatiquement:

DECLARE @DataSource TABLE
(
    [ColumnValue] INT
);

DECLARE @Input VARCHAR(MAX) = '4,89, 8, 1';

DECLARE @InputXML XML = CAST(N'<r><![CDATA[' + REPLACE(@Input, ',', ']]></r><r><![CDATA[') + ']]></r>' AS XML);

INSERT INTO @DataSource
SELECT RTRIM(LTRIM(Tbl.Col.value('.', 'INT'))) AS Code 
FROM @InputXML.nodes('//r') Tbl(Col)


0 commentaires