Gerardo: 2017-03-23 17:57 GMT+01:00 Gerardo Herzig <gher...@fmed.uba.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@postgresql.org) Para cambiar tu suscripci�n: http://www.postgresql.org/mailpref/pgsql-es-ayuda