Pular para o conteúdo
Visualizando 7 posts - 1 até 7 (de 7 do total)
  • Autor
    Posts
  • #88205
    leo_jf
    Participante

      Ola Srs,
      Estou tentando aqui, mas não ta funcionando.
      Alguém sabe como consigo, se tiver como, pegar apenas números em uma coluna de caracteres. Ex: Rua nicolau da fonseca, 115.
      Eu pegaria apenas o 115.
      Tentei com substr, mas não funcionou.
      Qq ajuda é bem vinda.
      []s

      #88206
      eversonpiza
      Participante

        Acho que com expressão regular vc deve conseguir fazer isso, mas não sou um expert no assunto para te dar um exemplo.

        #88207
        Ishii
        Participante

          Olá,

          Esse é mais um caso para o REGEXP (se sua versão for 10g ou superior)

          Tente assim


          select regexp_substr(coluna, '[[:digit:]]+') from tabela

          Mas lembrando se isso for para a tratativa de SPED (e tenho quase certeza que é…) no caso de separar endereços e complementos, de que podem haver muitas exceções tais como:

          Rua 1, 125- 2°andar, sala 12

          Só isso já daria problema, mas imagine:

          Av 23 de maio, s/n – Bloco 2

          Se ainda continuar com esses casos me mande uma mensagem pois estava criando uma proc para tratar esses casos mas não tive oportunidade de usar ainda…

          []s Isii

          #88208
          Ishii
          Participante

            Olá,

            Esse é mais um caso para o REGEXP (se sua versão for 10g ou superior)

            Tente assim


            select regexp_substr(coluna, '[[:digit:]]+') from tabela

            Mas lembrando se isso for para a tratativa de SPED (e tenho quase certeza que é…) no caso de separar endereços e complementos, de que podem haver muitas exceções tais como:

            Rua 1, 125- 2°andar, sala 12

            Só isso já daria problema, mas imagine:

            Av 23 de maio, s/n – Bloco 2

            Se ainda continuar com esses casos me mande uma mensagem pois estava criando uma proc para tratar esses casos mas não tive oportunidade de usar ainda…

            []s Ishii

            #88209
            Rodrigo Mesquita
            Participante

              Leonardo, voce pode tambem pegar o que estiver depois da virgula para evitar problemas em que o nome da rua tiver número.

              ex: Select Reverse(Trim(Substr(Reverse(&&Endereco),0,Instr(Upper(Reverse(&&Endereco)), ‘,’) – 1))) “Número”
              From Dual;

              Rodrigo Mesquita

              #88211
              Manoel872
              Participante

                Leonardo,

                Uma forma meio que na gambiarra seria isso:

                SELECT TRIM(TRANSLATE(UPPER(‘SASA3′),’ABCDEFGHIJKLMNOPQRSTUVWXYZ,.;’,’ ‘)) FROM DUAL

                Obs.: Não esquecer das acentuações.

                Att,

                Manoel

                #88216
                leo_jf
                Participante

                  Srs,

                  Surgiu uma modificação urgente em outra interface e vou ter que resolver.
                  Mas após o almoço vou testar todas as opções.
                  obrigado pela atenção.
                  Ishii..realmente vi aqui na base e tenho esse casos: bloco 2, fundos 03…
                  Ng merece!!!
                  Se vc tiver a proc que falou e quiser que eu teste rsrsr pode mandar que é bem vinda.
                  Obrigado mais uma vez.
                  Daqui a pouco teste e dou o retorno.

                Visualizando 7 posts - 1 até 7 (de 7 do total)
                • Você deve fazer login para responder a este tópico.