Como encontrar os caracteres especiais em uma string e dividir em palavras no SQL Server?

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

  •  25-08-2022
  •  | 
  •  

Pergunta

Eu tenho string como essa 'Suzuki GSX_1300/Twowheeler'

Agora eu quero dividir a string acima em palavras e inserir a palavra por uma em uma tabela.

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

Agora eu quero ver os dados na tabela @A como abaixo

SUZUKI
GSX
1300
TWOWHEELER

Com base nisso, procurarei fabricantes de veículos na minha mesa.

Então, por favor, ajude nisso como posso dividir minha corda, também posso obter diferentes personagens especiais no futuro.

Foi útil?

Solução

Existem algumas excelentes opções disponíveis em: http://www.sqlperformance.com/2012/07/t-sql-queries/split-strings

Existem soluções que permitem que você passe o delimitador também, para que você possa passar em diferentes no futuro.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top