- Este tópico contém 8 respostas, 3 vozes e foi atualizado pela última vez 16 anos atrás por
Ishii.
-
AutorPosts
-
3 de março de 2010 às 12:03 am #92916
Niggaz
ParticipanteGente 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 dualNã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
3 de março de 2010 às 6:06 pm #92924Marcos Braga
ParticipanteOlá 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
Braga3 de março de 2010 às 6:06 pm #92925Ishii
ParticipanteOlá,
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 ProductionTNS for Linux: Version 10.2.0.4.0 - Production
NLSRTL Version 10.2.0.4.0 - ProductionSQL> 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
3 de março de 2010 às 8:04 pm #92936Niggaz
ParticipanteEntã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
3 de março de 2010 às 8:06 pm #92937Ishii
ParticipanteOlá,
Abra o SQL*Plus e digite:
show parameter compatibleE coloque o resultado aqui no fórum.
[]s Ishii
3 de março de 2010 às 8:06 pm #92938Ishii
ParticipanteOlá,
Abra o SQL*Plus e digite:
show parameter compatibleE coloque o resultado aqui no fórum.
[]s Ishii
3 de março de 2010 às 9:57 pm #92947Niggaz
ParticipanteOpa…desculpe a demora, segue o resultado:
compatible string 10.1.0.2.0
4 de março de 2010 às 4:56 pm #92955Niggaz
ParticipanteAlguém??
4 de março de 2010 às 6:28 pm #92959Ishii
ParticipanteOlá,
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 ProductionTNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - ProductionSQL> 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
-
AutorPosts
- Você deve fazer login para responder a este tópico.