2010-11-18 4 views
0

J'ai une valeur séparée par des virgules comme nvarchar en sql. que j'ai besoin de convertir en table. S'il vous plaît donnez votre avis.convertir la chaîne séparée par des virgules en table SQL dans SP

exemple de chaîne

'f143bda4-a917-479c-8360-b63943b91d91,f312f49b-203e-4bba-a74e-82ea356ed6d3' 

J'utilise sql server 2005

+2

pls recherche SO, a demandé de nombreuses fois. .. –

+0

Je l'ai fait, mais ne peux pas trouver de lien, s'il vous plaît pouvez-vous jeter quelques pointeurs – Amit

Répondre

1

Vous cherchez quelque chose comme ça ...

FUNCTION [dbo].[fx_Split] 
(
    @text varchar(max), 
    @splitChar char(1) 
) 
RETURNS 
@Result TABLE 
(
    RowIndex int identity(1,1), 
    SplitText varchar(max) -- choose your type here... 
) 
AS 
BEGIN 

    DECLARE @index int SET @index = 0 
    DECLARE @SplitText varchar(max) SET @SplitText = '' 
    DECLARE @TempText varchar(max) SET @SplitText = '' 

    SET @index = CHARINDEX(@splitChar, @text) 
    SET @TempText = @text 

    WHILE(@index > 0) 
    BEGIN 

     INSERT INTO @Result VALUES (SUBSTRING(@TempText, 1, @index-1)) 

     SET @TempText = LTRIM(SUBSTRING(@TempText, @index + 1, LEN(@TempText))) 

     SET @index = CHARINDEX(@splitChar, @TempText) 

    END 

    INSERT INTO @Result VALUES (@TempText) 

    RETURN 
END 
+0

Oui exactement quelque chose comme ça. Aussi s'il vous plaît pouvez-vous me dire comment je peux la syntaxe de comment je peux obtenir la table retournée dans une variable de table temporaire – Amit

Questions connexes