SQL拆分字符串

时间:2014-01-16 08:11:31

标签: sql sql-server string

我正在使用SQL Server 2008.我有一个“课程”表,有一列名为“课程”。我在表“课程”中插入“课程”并获得一个字符串例如“数学英语物理”。

如何分割字符串以便我可以访问每个课程?如何用空格分割字符串并访问索引1处的项目,该项目应返回“英语”?

1 个答案:

答案 0 :(得分:1)

创建用户定义函数(UDF),如下所示:

 Declare @course varchar(200) = 'Math English Physics'
Declare @individual varchar(20) = null

WHILE LEN(@course) > 0
BEGIN
    IF PATINDEX('% %',@course) > 0
    BEGIN
        SET @individual = SUBSTRING(@course, 0, PATINDEX('% %',@course))
        SELECT @individual

        SET @course = SUBSTRING(@course, LEN(@individual + ' ') + 1,
                                                     LEN(@course))
    END
    ELSE
    BEGIN
        SET @individual = @course
        SET @course = NULL
        SELECT @individual
    END
END

我希望这可以解决你的问题。

我相信你应该重组你的数据库并将其规范化。