将逗号分隔的字符串转换为SP中的sql表

时间:2010-11-18 11:12:23

标签: sql

我在sql中有一个逗号分隔值为nvarchar。我需要转换成表格。请指教。

字符串

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

我正在使用sql server 2005

1 个答案:

答案 0 :(得分:1)

你在找这样的东西......

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