----- 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