RE: [oracle_br] Uma ajudinha!!!

2010-08-18 Por tôpico Carlos Pinto
Muito Obrigado Marcus.és muito fixe



Com os melhores cumprimentos, 
Carlos Pinto

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de Marcos Braga
Enviada: quarta-feira, 18 de Agosto de 2010 21:09
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Uma ajudinha!!!

Oi Carlos,

Esse regexp que passei para ti é mais ou menos assim:

1. Primeiro vamos pegar o comando completo:
SQL> select regexp_replace(c1, '^.*#(.*)$', '\1') c1 from t1;

2. Entendendo a função:
regexp_replace(COLUNA, 'BUSCA', 'SUBSTITUIÇÃO')
regexp_replace(c1, '^.*#(.*)$', '\1')

3. Entendendo a busca:
*^.*#(.*)$*  = string completa
*^*= indica o início do registro
*.*= indica qualquer caracter (letra ou número ou caracter especial)
***= indica qualquer quantidade de registro anterior (no nosso caso: "."
- qualquer coisa)
*# *   = literal, significa isso mesmo: um "#"
*(.*)* = observe essa junção - adicionei ".*" dentro de parênteses
   aqui acabo de criar o grupo 1 (depois utilizarei como "\1")
*$*= indica o fim do registro

*Carlos, a mágica toda está aqui, é sempre bom entender um pouco de
expressão regular para não ficar muito perdido, mas observe o que fiz: o
registro inicia (^) com qualquer quantidade de caracter (.*) até uma
cerquilha (#  -  não especifiquei a posição dessa cerquilha no registro,
pode estar em qualquer lugar, no início, no meio ou no fim) e após a
cerquilha crio um grupo ( (.*) ) que finaliza o registro ($). E utilizo
somente esse grupo na substituição.*

4. Entendendo a substituição:
*\1*   =  utilizando o grupo criado anteriormente na busca


Bom..., no começo as coisas ficam meio obscuras, mas segue alguns exemplos e
documentação para lhe ajudar a esclarecer o regexp, e quanto mais utilizar,
mais verá utilidade para o regexp.

http://www.oracle.com/technology/obe/obe10gdb/develop/regexp/regexp.htm

http://profissionaloracle.com.br/blogs/braga/category/regexp/

E as dúvidas, posta na lista para auxiliá-lo.

[]s
Braga



2010/8/18 Carlos Pinto 

>
>
> Funcionou muito bem.
>
> Marcos podes explicar-me a construcao regexp_replace?
>
>
> Com os melhores cumprimentos,
> Carlos Pinto
>
> -Mensagem original-
> De: oracle_br@yahoogrupos.com.br  [mailto:
> oracle_br@yahoogrupos.com.br ] Em
> nome de Marcos Braga
> Enviada: quarta-feira, 18 de Agosto de 2010 17:37
>
> Para: oracle_br@yahoogrupos.com.br 
> Assunto: Re: [oracle_br] Uma ajudinha!!!
>
> Olá Carlos,
>
> Observe o exemplo e veja se a solução ajuda.
>
> --
> SQL> create table t1 (c1 varchar2(40));
>
> Tabela criada.
>
> SQL> insert into t1 values ('22/07/2010#04121170700153051#E24');
>
> 1 linha criada.
>
> SQL> insert into t1 values ('25/07/2010#04121170700153055#D24569');
>
> 1 linha criada.
>
> SQL> insert into t1 values ('28/07/2010#04121170700153049#E2449');
>
> 1 linha criada.
>
> SQL> commit;
>
> Commit concluido.
>
> SQL> select regexp_replace(c1, '^.*#(.*)$', '\1') c1 from t1;
>
> C1
> --
> E24
> D24569
> E2449
>
> 3 linhas selecionadas.
> --
>
> []s
> Braga
>
> 2010/8/18 Carlos Pinto

> >
>
> >
> >
> > Ola a todos, alguém me pode ajudar
> >
> > Tenho em campo VARCHAR2 (40) e o que precisava era “sacar” os últimos
> > caracteres até ao #.
> >
> > 22/07/2010#04121170700153051#E24
> >
> > 25/07/2010#04121170700153055#D24569
> >
> > 28/07/2010#04121170700153049#E2449
> >
> > Precisava destes caracteres – Exemplo:
> >
> > E24
> >
> > D24569
> >
> > E2449
> >
> > Como posso fazer isto em SQL?
> >
> > Desculpem Oracle 10G
> >
> > Com os melhores cumprimentos,
> >
> > Carlos Pinto
>


[As partes desta mensagem que não continham texto foram removidas]






--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 

--
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure
» Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos





Re: [oracle_br] Uma ajudinha!!!

2010-08-18 Por tôpico Marcos Braga
Oi Carlos,

Esse regexp que passei para ti é mais ou menos assim:

1. Primeiro vamos pegar o comando completo:
SQL> select regexp_replace(c1, '^.*#(.*)$', '\1') c1 from t1;

2. Entendendo a função:
regexp_replace(COLUNA, 'BUSCA', 'SUBSTITUIÇÃO')
regexp_replace(c1, '^.*#(.*)$', '\1')

3. Entendendo a busca:
*^.*#(.*)$*  = string completa
*^*= indica o início do registro
*.*= indica qualquer caracter (letra ou número ou caracter especial)
***= indica qualquer quantidade de registro anterior (no nosso caso: "."
- qualquer coisa)
*# *   = literal, significa isso mesmo: um "#"
*(.*)* = observe essa junção - adicionei ".*" dentro de parênteses
   aqui acabo de criar o grupo 1 (depois utilizarei como "\1")
*$*= indica o fim do registro

*Carlos, a mágica toda está aqui, é sempre bom entender um pouco de
expressão regular para não ficar muito perdido, mas observe o que fiz: o
registro inicia (^) com qualquer quantidade de caracter (.*) até uma
cerquilha (#  -  não especifiquei a posição dessa cerquilha no registro,
pode estar em qualquer lugar, no início, no meio ou no fim) e após a
cerquilha crio um grupo ( (.*) ) que finaliza o registro ($). E utilizo
somente esse grupo na substituição.*

4. Entendendo a substituição:
*\1*   =  utilizando o grupo criado anteriormente na busca


Bom..., no começo as coisas ficam meio obscuras, mas segue alguns exemplos e
documentação para lhe ajudar a esclarecer o regexp, e quanto mais utilizar,
mais verá utilidade para o regexp.

http://www.oracle.com/technology/obe/obe10gdb/develop/regexp/regexp.htm

http://profissionaloracle.com.br/blogs/braga/category/regexp/

E as dúvidas, posta na lista para auxiliá-lo.

[]s
Braga



2010/8/18 Carlos Pinto 

>
>
> Funcionou muito bem.
>
> Marcos podes explicar-me a construcao regexp_replace?
>
>
> Com os melhores cumprimentos,
> Carlos Pinto
>
> -Mensagem original-
> De: oracle_br@yahoogrupos.com.br  [mailto:
> oracle_br@yahoogrupos.com.br ] Em
> nome de Marcos Braga
> Enviada: quarta-feira, 18 de Agosto de 2010 17:37
>
> Para: oracle_br@yahoogrupos.com.br 
> Assunto: Re: [oracle_br] Uma ajudinha!!!
>
> Olá Carlos,
>
> Observe o exemplo e veja se a solução ajuda.
>
> --
> SQL> create table t1 (c1 varchar2(40));
>
> Tabela criada.
>
> SQL> insert into t1 values ('22/07/2010#04121170700153051#E24');
>
> 1 linha criada.
>
> SQL> insert into t1 values ('25/07/2010#04121170700153055#D24569');
>
> 1 linha criada.
>
> SQL> insert into t1 values ('28/07/2010#04121170700153049#E2449');
>
> 1 linha criada.
>
> SQL> commit;
>
> Commit concluido.
>
> SQL> select regexp_replace(c1, '^.*#(.*)$', '\1') c1 from t1;
>
> C1
> --
> E24
> D24569
> E2449
>
> 3 linhas selecionadas.
> --
>
> []s
> Braga
>
> 2010/8/18 Carlos Pinto 
> 
> >
>
> >
> >
> > Ola a todos, alguém me pode ajudar
> >
> > Tenho em campo VARCHAR2 (40) e o que precisava era “sacar” os últimos
> > caracteres até ao #.
> >
> > 22/07/2010#04121170700153051#E24
> >
> > 25/07/2010#04121170700153055#D24569
> >
> > 28/07/2010#04121170700153049#E2449
> >
> > Precisava destes caracteres – Exemplo:
> >
> > E24
> >
> > D24569
> >
> > E2449
> >
> > Como posso fazer isto em SQL?
> >
> > Desculpem Oracle 10G
> >
> > Com os melhores cumprimentos,
> >
> > Carlos Pinto
>


[As partes desta mensagem que não continham texto foram removidas]





--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




RE: [oracle_br] Uma ajudinha!!!

2010-08-18 Por tôpico Carlos Pinto
Funcionou muito bem.

Marcos podes explicar-me a construcao regexp_replace?



Com os melhores cumprimentos, 
Carlos Pinto

-Mensagem original-
De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em
nome de Marcos Braga
Enviada: quarta-feira, 18 de Agosto de 2010 17:37
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Uma ajudinha!!!

Olá Carlos,

Observe o exemplo e veja se a solução ajuda.


SQL> create table t1 (c1 varchar2(40));

Tabela criada.

SQL> insert into t1 values ('22/07/2010#04121170700153051#E24');

1 linha criada.

SQL> insert into t1 values ('25/07/2010#04121170700153055#D24569');

1 linha criada.

SQL> insert into t1 values ('28/07/2010#04121170700153049#E2449');

1 linha criada.

SQL> commit;

Commit concluido.

SQL> select regexp_replace(c1, '^.*#(.*)$', '\1') c1 from t1;

C1

E24
D24569
E2449

3 linhas selecionadas.



[]s
Braga


2010/8/18 Carlos Pinto 

>
>
> Ola a todos, alguém me pode ajudar
>
> Tenho em campo VARCHAR2 (40) e o que precisava era “sacar” os últimos
> caracteres até ao #.
>
> 22/07/2010#04121170700153051#E24
>
> 25/07/2010#04121170700153055#D24569
>
> 28/07/2010#04121170700153049#E2449
>
> Precisava destes caracteres – Exemplo:
>
> E24
>
> D24569
>
> E2449
>
> Como posso fazer isto em SQL?
>
> Desculpem Oracle 10G
>
> Com os melhores cumprimentos,
>
> Carlos Pinto
>


[As partes desta mensagem que não continham texto foram removidas]






--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira
responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 

--
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure
» Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE:
http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos





Re: [oracle_br] Uma ajudinha!!!

2010-08-18 Por tôpico Marcos Braga
Olá Carlos,

Observe o exemplo e veja se a solução ajuda.


SQL> create table t1 (c1 varchar2(40));

Tabela criada.

SQL> insert into t1 values ('22/07/2010#04121170700153051#E24');

1 linha criada.

SQL> insert into t1 values ('25/07/2010#04121170700153055#D24569');

1 linha criada.

SQL> insert into t1 values ('28/07/2010#04121170700153049#E2449');

1 linha criada.

SQL> commit;

Commit concluido.

SQL> select regexp_replace(c1, '^.*#(.*)$', '\1') c1 from t1;

C1

E24
D24569
E2449

3 linhas selecionadas.



[]s
Braga


2010/8/18 Carlos Pinto 

>
>
> Ola a todos, alguém me pode ajudar
>
> Tenho em campo VARCHAR2 (40) e o que precisava era “sacar” os últimos
> caracteres até ao #.
>
> 22/07/2010#04121170700153051#E24
>
> 25/07/2010#04121170700153055#D24569
>
> 28/07/2010#04121170700153049#E2449
>
> Precisava destes caracteres – Exemplo:
>
> E24
>
> D24569
>
> E2449
>
> Como posso fazer isto em SQL?
>
> Desculpem Oracle 10G
>
> Com os melhores cumprimentos,
>
> Carlos Pinto
>


[As partes desta mensagem que não continham texto foram removidas]





--
>Atenção! As mensagens do grupo ORACLE_BR são de acesso público e de inteira 
>responsabilidade de seus remetentes.
Acesse: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ 
--
>Apostilas » Dicas e Exemplos » Função » Mundo Oracle » Package » Procedure » 
>Scripts » Tutoriais - O GRUPO ORACLE_BR TEM SEU PROPRIO ESPAÇO! VISITE: 
>http://www.oraclebr.com.br/  

 Links do Yahoo! Grupos

<*> Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/oracle_br/

<*> Para sair deste grupo, envie um e-mail para:
oracle_br-unsubscr...@yahoogrupos.com.br

<*> O uso que você faz do Yahoo! Grupos está sujeito aos:
http://br.yahoo.com/info/utos.html




RE: [oracle_br] Uma ajudinha!!!

2010-08-18 Por tôpico Carlos Pinto
Valeu Eduardo…é isto mesmo

 

Com os melhores cumprimentos, 

Carlos Pinto

 

De: oracle_br@yahoogrupos.com.br [mailto:oracle...@yahoogrupos.com.br] Em nome 
de Eduardo Schurtz
Enviada: quarta-feira, 18 de Agosto de 2010 17:00
Para: oracle_br@yahoogrupos.com.br
Assunto: Re: [oracle_br] Uma ajudinha!!!

 

  

select substr('teste#123', instr('teste#123', '#', -1) + 1) from dual

Att,

__
*Eduardo Schurtz*
Oracle E-Business Consultant
✉ eduardo.schu...@gmail.com <mailto:eduardo.schurtz%40gmail.com> 
[image: LinkedIn] <http://br.linkedin.com/in/eduardoschurtz>[image:
Twitter]<http://twitter.com/eduardo_oracle>

2010/8/18 Carlos Pinto mailto:carlos.pintoo%40yahoo.com.br> >

>
>
> Ola a todos, alguém me pode ajudar
>
> Tenho em campo VARCHAR2 (40) e o que precisava era “sacar” os últimos
> caracteres até ao #.
>
> 22/07/2010#04121170700153051#E24
>
> 25/07/2010#04121170700153055#D24569
>
> 28/07/2010#04121170700153049#E2449
>
> Precisava destes caracteres – Exemplo:
>
> E24
>
> D24569
>
> E2449
>
> Como posso fazer isto em SQL?
>
> Desculpem Oracle 10G
>
> Com os melhores cumprimentos,
>
> Carlos Pinto
>
> [As partes desta mensagem que não continham texto foram removidas]
>
> 
>

[As partes desta mensagem que não continham texto foram removidas]





[As partes desta mensagem que não continham texto foram removidas]