Usuário com melhor resposta
Descobrir posição do ponto e virgula (exemplo de script abaixo)

Pergunta
-
Boa tarde!
Estou utilizando o script abaixo , mais gostaria de saber como faço para descobrir a posição do seguindo 'ponto e vírgula, do terceiro,
do quarto .....
No exemplo abaixo caso fosse select @string = 'endereco 1 ; nr 31 ; apto 42 ; bairro ; ' ;
declare @string varchar(64); declare @posicao int; select @string = 'endereco 1 ;'; select @posicao = CHARINDEX(';', @string); select stuff(@string,@posicao,1,'')
Obrigada
Respostas
-
Olá!
Eu pelo menos não conheço essa função de retornar vários index no SQL Server.... mas se o seu objetivo é separar as strings pelo ponto e vírgula, sugiro que use o STRING_SPLIT:
SELECT value FROM STRING_SPLIT(@string, ';');
Esse comando vai te retornar uma espécie de tabela temporária com apenas uma coluna, sendo que cada parte do texto será uma linha nesta tabela... aí só precisa fazer o select para usar como quiser....
Aqui tem a documentação, se achar interessante: https://docs.microsoft.com/pt-br/sql/t-sql/functions/string-split-transact-sql?view=sql-server-2017
Att,
Fabio Rosa.
- Sugerido como Resposta André Renato Furtado terça-feira, 3 de julho de 2018 01:37
-
Deleted
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 4 de julho de 2018 18:46
Todas as Respostas
-
Olá!
Eu pelo menos não conheço essa função de retornar vários index no SQL Server.... mas se o seu objetivo é separar as strings pelo ponto e vírgula, sugiro que use o STRING_SPLIT:
SELECT value FROM STRING_SPLIT(@string, ';');
Esse comando vai te retornar uma espécie de tabela temporária com apenas uma coluna, sendo que cada parte do texto será uma linha nesta tabela... aí só precisa fazer o select para usar como quiser....
Aqui tem a documentação, se achar interessante: https://docs.microsoft.com/pt-br/sql/t-sql/functions/string-split-transact-sql?view=sql-server-2017
Att,
Fabio Rosa.
- Sugerido como Resposta André Renato Furtado terça-feira, 3 de julho de 2018 01:37
-
Eliana,
Talvez a nova função Concat_WS() em conjunto com as funções CharIndex() e PatIndex() não poderia te ajudar.
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
-
Deleted
- Sugerido como Resposta Junior Galvão - MVPMVP quarta-feira, 4 de julho de 2018 18:46