Pular para o conteúdo
  • Este tópico contém 8 respostas, 3 vozes e foi atualizado pela última vez 16 anos atrás por Ishii.
Visualizando 9 posts - 1 até 9 (de 9 do total)
  • Autor
    Posts
  • #92916
    Niggaz
    Participante

      Gente estou estudando para a 1ZO-047…será que consigo? rs

      Estou com um problema.

      Rodei a seguinte SELECT num ambiente 10G:
      select regexp_replace(12345678901,’^(d{3})(d{3})(d{3})(d{2})$’, ‘1.2.3-4’ ) from dual

      Não funcionou….

      Peguei o mesmo SELECT e rodei num 11G e funcionou….o que pode estar acontecendo?
      Existe alguma coisa a ser habilitada?
      O 10g é Windows e o 11g é Linux…

      []’s

      #92924
      Marcos Braga
      Participante

        Olá Niggaz,

        Qual o S.O. que executou a query e qual o erro que ocorreu na versão 10?

        Utilizo Regexp desde a versão 10.1 e funciona corretamente.

        []s
        Braga

        #92925
        Ishii
        Participante

          Olá,


          SQL> select * from v$version;

          BANNER

          Oracle Database 10g Release 10.2.0.4.0 - Production
          PL/SQL Release 10.2.0.4.0 - Production
          CORE 10.2.0.4.0 Production

          TNS for Linux: Version 10.2.0.4.0 - Production
          NLSRTL Version 10.2.0.4.0 - Production

          SQL> select regexp_replace(12345678901,'^(d{3})(d{3})(d{3})(d{2})$', '1.2.3-4' ) from dual;

          REGEXP_REPLACE(12345678901,'^(

          123.456.789-01

          SQL>

          Funciona, mas em todo caso, veja o parâmetro compatible pois pode estar em outra versão que não a 10.

          []s Ishii

          #92936
          Niggaz
          Participante

            Então a versão que não funcionou foi em Windows, porém ela não retorna nenhuma mensagem. Apenas não formata o número.

            Onde eu vejo esse parâmetro Compatible?

            []’s

            #92937
            Ishii
            Participante

              Olá,

              Abra o SQL*Plus e digite:

              show parameter compatible

              E coloque o resultado aqui no fórum.

              []s Ishii

              #92938
              Ishii
              Participante

                Olá,

                Abra o SQL*Plus e digite:

                show parameter compatible

                E coloque o resultado aqui no fórum.

                []s Ishii

                #92947
                Niggaz
                Participante

                  Opa…desculpe a demora, segue o resultado:

                  compatible string 10.1.0.2.0

                  #92955
                  Niggaz
                  Participante

                    Alguém??

                    #92959
                    Ishii
                    Participante

                      Olá,

                      Não deveria ter problemas na execução dessa função pois ela faz parte do Oracle 10 mesmo….


                      SQL> select * from v$version
                      2 /

                      BANNER

                      Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
                      PL/SQL Release 10.2.0.1.0 - Production
                      CORE 10.2.0.1.0 Production

                      TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
                      NLSRTL Version 10.2.0.1.0 - Production

                      SQL> select regexp_replace(12345678901,'^(d{3})(d{3})(d{3})(d{2})$', '1.2.3-4' ) from dual;

                      REGEXP_REPLACE(12345678901,'^(

                      123.456.789-01

                      SQL> show parameter compatible

                      NAME TYPE VALUE


                      compatible string 10.2.0.1.0

                      SQL>

                      Mesmo instalado no XE isso deveria funcionar. Verifique se não há nenhuma mensagem de erro no Alert.log do Oracle e abra um chamado na Oracle. Esse tipo de problema pode estar relacionado a alguma falha na criação do Dicionário.

                      []s Ishii

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