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-ayuda] búsqueda con tolerancia] |
Date: | 2006-06-20 19:03:21 |
Message-ID: | 20060620190321.GC26882@surnet.cl |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
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
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2006-06-20 19:16:10 | Re: Ordenar una Tabla y reindexar se pierden los triggers |
Previous Message | Nicolas Recabarren | 2006-06-20 19:03:17 | Cambiar propietario de una tabla |