文字列内の特殊文字を見つけてSQL Serverの単語に分割する方法は?

StackOverflow https://stackoverflow.com/questions/20353627

  •  25-08-2022
  •  | 
  •  

質問

私はこのような文字列を持っています「スズキgsx_1300/twowheeler」

次に、上記の文字列を単語に分割し、1つの単語を1つのテーブルに挿入したいと思います。

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

それに基づいて、私は私のテーブルで車両メーカーを検索します。

だから、これについて私が私の文字列を分割する方法を手伝ってください、私は将来的にも異なる特殊文字を得るかもしれません。

役に立ちましたか?

解決

利用可能な優れたオプションがいくつかあります: http://www.sqlperformance.com/2012/07/tsql-queries/split-strings

デリミッターも渡すことができるソリューションがあるので、将来的には異なるものを渡すことができます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top