From: | Francisco Olarte <folarte(at)peoplecall(dot)com> |
---|---|
To: | Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar> |
Cc: | baru gerardi <soybaru(at)gmail(dot)com>, Lista Postgres ES <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Substring y expresiones regulares |
Date: | 2017-03-23 18:16:05 |
Message-ID: | CA+bJJby+OfL8Ecc21nvG3mYCkJ5ET41_y5UROFiHESke5QnJyQ@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
Gerardo:
2017-03-23 17:57 GMT+01:00 Gerardo Herzig <gherzig(at)fmed(dot)uba(dot)ar>:
>> 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
...
> Que tal una expresion regular para borrar todo lo que *no* sean numeros:
Eso te vale si solo esta el dni, pero...
>
> 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)
-- Que pasa si meto esto delante del select?
copy dnis(dni) from stdin;
Numero de telefono: 6666666
DNI: desconocido, TEL: 12345678
Tel: 66666 DNI: 12345678 Direccion: Avda. Pensilvania 1600
44100 = 2*2*3*3*5*5*7*7, tricky uh?
\.
-- Lo digo porque si tiene que buscar DNI: me extraña que la columna
sea simplemente "los digitos del dni con alguna cosa mas".
Francisco Olarte:
-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda
From | Date | Subject | |
---|---|---|---|
Next Message | Hellmuth Vargas | 2017-03-23 18:20:10 | Re: Substring y expresiones regulares |
Previous Message | Francisco Olarte | 2017-03-23 17:03:36 | Re: Substring y expresiones regulares |