none
Selecionar dados parcial de uma String RRS feed

  • Pergunta

  • Senhore(a)s boa tarde!! Tenho uma tabela onde de uma String preciso retirar duas informações, segue abaixo exemplo:
    de             para        para
    19091-2   1901         2
    18475-4   18475       4
    1555-3     1555         3

    Preciso selecionar tudo o que tem antes do hifem e tudo que tem depois do hifem
    Certo da atenção devida

     


    Marcelo Nogueira
    quarta-feira, 18 de janeiro de 2012 15:03

Respostas

  • Se não quiser usar Substring como o meu exemplo anterior, pode usar somente o LEFT e o RIGHT:

    Sufixo com 1 caracter:

     

    select LEFT(Campo, len(Campo)-2) Prefixo, RIGHT(Campo,1) Sufixo

     

    Sufixo com mais de 1 caracter:

    select LEFT(Campo, CHARINDEX('-',Campo)-1) Prefixo, RIGHT(Campo, len(Campo) - CHARINDEX('-',Campo)) Sufixo

    Ozimar

     


    Ozimar Henrique http://ozimar.com
    quarta-feira, 18 de janeiro de 2012 15:37

Todas as Respostas

  • Se o Sufixo só terá 1 caracter pode usar o comando: select substring(Campo, 1, len(Campo)-2) Prefixo, Right(Campo,1) Sufixo
    Caso seja de tamanho variado:  
    select substring(Campo, 1,CHARINDEX('-',Campo)-1) Prefixo, substring(Campo, CHARINDEX('-',Campo)+1, len(Campo)) Sufixo
    Abraços
    Ozimar

    Ozimar Henrique http://ozimar.com
    quarta-feira, 18 de janeiro de 2012 15:27
  • Se não quiser usar Substring como o meu exemplo anterior, pode usar somente o LEFT e o RIGHT:

    Sufixo com 1 caracter:

     

    select LEFT(Campo, len(Campo)-2) Prefixo, RIGHT(Campo,1) Sufixo

     

    Sufixo com mais de 1 caracter:

    select LEFT(Campo, CHARINDEX('-',Campo)-1) Prefixo, RIGHT(Campo, len(Campo) - CHARINDEX('-',Campo)) Sufixo

    Ozimar

     


    Ozimar Henrique http://ozimar.com
    quarta-feira, 18 de janeiro de 2012 15:37
  • Perfeito Ozimar, obrigado pela atenção

     


    Marcelo Nogueira
    quarta-feira, 18 de janeiro de 2012 16:06