Skip site navigation (1) Skip section navigation (2)

Re: Palabras repetidas en un campo varchar

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Oscar Cano <oscarcanorodriguez(at)gmail(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Palabras repetidas en un campo varchar
Date: 2008-01-30 00:50:18
Message-ID: 20080130005017.GJ27546@alvh.no-ip.org (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Oscar Cano escribió:
> Quiero hacer un query que me regreso aquellos registros que contengan
> palabras repetidas
> 
> Por ejemplo por error hay registros que tienen dos veces el nombre "oscar
> oscar cano rodriguez" o el apellido "oscar cano cano rodriguez"

Una expresion regular con una "backreference", algo asi:

alvherre=# select * from rep where a ~ e'[[:<:]]([[:alnum:]]+)[[:>:]].*\\1';
        a         
------------------
 oscar oscar cano
 oscar cano cano
(2 filas)


alvherre=# create table rep (a text);
inCREATE TABLE
alvherre=# insert into rep values ('oscar oscar cano');
INSERT 0 1
alvherre=# insert into rep values ('oscar cano cano');
INSERT 0 1
alvherre=# insert into rep values ('oscar cano');
INSERT 0 1



Ejercicio: ¿por que estan ahi los [[:<:]] y [[:>:]] ?

-- 
Alvaro Herrera                                http://www.CommandPrompt.com/
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

In response to

pgsql-es-ayuda by date

Next:From: Ernesto QuiñonesDate: 2008-01-30 00:58:41
Subject: Re: es posible acelerar un update?
Previous:From: Alvaro HerreraDate: 2008-01-30 00:46:27
Subject: Re: es posible acelerar un update?

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group