我正在使用SQL Server 2008.我有一个“课程”表,有一列名为“课程”。我在表“课程”中插入“课程”并获得一个字符串例如“数学英语物理”。
如何分割字符串以便我可以访问每个课程?如何用空格分割字符串并访问索引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
我希望这可以解决你的问题。
我相信你应该重组你的数据库并将其规范化。