Value, era isso mesmo.

From: Michel Luiz Milezzi 
Sent: Friday, April 22, 2016 8:40 AM
To: Comunidade PostgreSQL Brasileira 
Subject: Re: [pgbr-geral] Separar inteiro

  Bom dia pessoal,

      Preciso capturar os caracteres de um campo varchar até achar um caractere 
que não seja número. Por exemplo:

      122-43 – Aqui preciso capturar 122;
      33a12 – aqui 33;
      556 – aqui 556.

Bom dia.

Pelo que entendi você precisar capturar os primeiros números de uma string, 
você pode fazer isso usando expressões regulares:

SELECT SUBSTRING('122-43', '([0-9]*)');
SELECT SUBSTRING('33a12', '([0-9]*)');
SELECT SUBSTRING('556', '([0-9]*)'); 

Na sua query, você pode fazer algo como:

SELECT * FROM tabela ORDER BY coalesce(SUBSTRING(campo, '([0-9]*)')::integer, 0)



--------------------------------------------------------------------------------
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral 


--------------------------------------------------------------------------------

Nenhum vírus encontrado nessa mensagem.
Verificado por AVG - www.avgbrasil.com.br
Versão: 2016.0.7539 / Banco de dados de vírus: 4556/12073 - Data de Lançamento: 
04/21/16
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a