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

Re: [Fwd: Re: [pgsql-es-a?==?iso-8859-1?Q?yuda] búsqueda con tolerancia]

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Xavier Puig <desarrollo(at)quickimage(dot)es>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [Fwd: Re: [pgsql-es-a?==?iso-8859-1?Q?yuda] búsqueda con tolerancia]
Date: 2006-06-20 19:03:21
Message-ID: 20060620190321.GC26882@surnet.cl (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
Xavier Puig escribió:
> Gracias Cuenca por orientarme,
> 
> select * from tabla order by @(propiedades-$1) limit 20
> 
> Esto sólo funciona para campos numéricos, cómo podria hacer lo mismo para 
> varchar, he probado
> 
> select * from tabla order by @(propiedades-'arbol') limit 20 (suponiendo 
> que propiedades es varchar, claro)

Define una funcion distancia() que tome dos campos tipo text y retorne
un numero que indique que tan parecidos o diferentes son los strings.
Luego defines el operador -(text,text) usando esa funcion.  Teniendo eso
creo que lo de arriba funcionaria.


Sin embargo creo que lo que tratas de hacer seria mas inteligente
atacarlo con algo como pg_trgm (o pg_tgrm), que hace busqueda por
trigramas.  Ideal para busquedas por similitud en strings.

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

In response to

pgsql-es-ayuda by date

Next:From: Alvaro HerreraDate: 2006-06-20 19:16:10
Subject: Re: Ordenar una Tabla y reindexar se pierden los triggers
Previous:From: Nicolas RecabarrenDate: 2006-06-20 19:03:17
Subject: Cambiar propietario de una tabla

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