如何在字符串中找到特殊字符并在sql server中拆分成单词?

时间:2013-12-03 14:20:06

标签: sql-server sql-server-2008

我有这样的字符串'SUZUKI GSX_1300 / TWOWHEELER'

现在我想将上面的字符串拆分成单词并将一个一个字插入一个表中。

DECLARE @a TABLE (a nvarchar(500));
declare @RTADESC nvarchar(100) = 'SUZUKI GSX_1300/TWOWHEELER';
declare @b int =1;
declare @c int;
set @c=CHARINDEX('_',@RTADESC,@b);

WHILE @c>0
        BEGIN
            SELECT @b= CHARINDEX('_' ,@RTADESC,@b)+1
            INSERT INTO @a
            SELECT SUBSTRING(@RTADESC,0,@b-1)
            set @c=CHARINDEX('_',@RTADESC,@b)
        END

        SELECT * FROM @a

现在我想查看表格中的数据@a如下

SUZUKI
GSX
1300
TWOWHEELER

基于此,我将在我的桌子上搜索汽车制造商。

所以请帮助解决我如何分割我的字符串我将来可能会得到不同的特殊字符。

1 个答案:

答案 0 :(得分:1)

http://www.sqlperformance.com/2012/07/t-sql-queries/split-strings

有一些很好的选择

有一些解决方案可以让你传递分隔符,所以你将来可以传入不同的分隔符。