Nestor Costa de Oliveira escreveu:

> Estou com uma dúvida em relação ao melhor comando a ser usado, ou se 
> existe um mais simples no postgre para fazer a seguinte tarefa.
> 
> Imaginando uma string “RIB12345”
> 
> Eu preciso retornar somente o valor número dessa string. No Access nós 
> temos a função Right / Left (onde passamos o comprimento de caracteres 
> que precisamos obter no retorno, e funciona muito bem.)
> 
> Alguém sabe ou já utilizou alguma função no Postgre que faça essa tarefa???
> 
> Lembrando que isso será utilizado em uma View e o resultado da resposta 
> é utilizada dentro de um CASE!


Se sua string obedece a um padrão (no seu caso: 3 caracteres seguidos de 
5 algarismos) você pode utilizar a função substr.
http://www.postgresql.org/docs/8.1/interactive/functions-string.html

bdteste=# SELECT substr('RIB12345', 4);
  substr
--------
  12345
(1 registro)

Caso seja uma sequencia de caracteres seguida de uma sequencia de 
algarismos você pode utilizar a funçao regexp_replace.
http://www.postgresql.org/docs/8.1/interactive/functions-matching.html

bdteste=# SELECT regexp_replace('RIB12345', '[[:alpha:]]*', '');
  regexp_replace
----------------
  12345
(1 registro)

bdteste=# SELECT regexp_replace('RI123456', '[[:alpha:]]*', '');
  regexp_replace
----------------
  123456
(1 registro)

bdteste=# SELECT regexp_replace('R1234567', '[[:alpha:]]*', '');
  regexp_replace
----------------
  1234567
(1 registro)

bdteste=# SELECT regexp_replace('12345678', '[[:alpha:]]*', '');
  regexp_replace
----------------
  12345678
(1 registro)

Para outras variações consulte o manual.

[]s
Osvaldo

                
_______________________________________________________ 
Yahoo! Acesso Grátis - Internet rápida e grátis. Instale 
o discador agora! 
http://br.acesso.yahoo.com
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a