none
Descobrir posição do ponto e virgula (exemplo de script abaixo) RRS feed

  • 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


    segunda-feira, 2 de julho de 2018 17:34

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.

    segunda-feira, 2 de julho de 2018 17:47
  • Deleted
    quarta-feira, 4 de julho de 2018 01:13

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.

    segunda-feira, 2 de julho de 2018 17:47
  • 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]

    terça-feira, 3 de julho de 2018 18:23
  • Deleted
    quarta-feira, 4 de julho de 2018 01:13