----- Mensaje original -----
> De: "baru gerardi" <soyb...@gmail.com>
> Para: pgsql-es-ayuda@postgresql.org
> Enviados: Jueves, 23 de Marzo 2017 13:13:29
> Asunto: [pgsql-es-ayuda] Substring y expresiones regulares
> 
> 
> 
> 
> 
> 
> 
> Buenos dias
> Necesito extraer de un campo de texto los nros de DNI contenidos en
> él.
> Sé que los mismos se encuentran luego de la cadena 'DNI:'
> 
> Con substring(texto from 'DNI:') ubico la cadena
> 
> pero necesito que liste de ahí en adelante los nros que encuentre,
> teniendo en cuenta:
> 1. que desconozco cuantos espacios hay entre 'DNI:' y el primer
> dígito y
> 2. que puede haber puntos entre los dígitos
> 
> 
> Desde ya, gracias por la ayuda


Que tal una expresion regular para borrar todo lo que *no* sean numeros:

select regexp_replace(texto, '[^0-9]', '','g') from tabla;

postgres=# select *, regexp_replace(dni, '[^0-9]', '','g') as solo_numeros from 
dnis;
        dni         | solo_numeros 
--------------------+--------------
 DNI:    12.382.712 | 12382712
 DNI:12382712       | 12382712
 DNI:123827..12     | 12382712
(3 rows)


HTH

Gerardo

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda@postgresql.org)
Para cambiar tu suscripci�n:
http://www.postgresql.org/mailpref/pgsql-es-ayuda

Responder a