markdown Realizarbúsquedasignorando las tildes con postgresql
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Realizarbúsquedasignorando las tildes con postgresql相关的知识,希望对你有一定的参考价值。
Y en este caso usando PostgreSQL 9.1, tenemos la extensión unaccent que nos permite dejar sin tildes una palabra o un conjunto de palabras.
Otra de las ventajas de utilizar PostgreSQL, es por que nos permite crear indices a expresiones o funciones.
Como primer paso creamos el indice en el campo que vamos a usar para las búsquedas e instalamos la extensión:
CREATE EXTENSION unaccent;
ALTER FUNCTION unaccent(text) IMMUTABLE;
CREATE INDEX person_name_idx0 ON person USING btree (unaccent(name));
Una vez tenemos la base de datos preparada para realizar consultas, aqui un ejemplo de como realizar una busqueda ignorando las tildes:
(usando django)
>>> Person.objects.extra(where=["unaccent(name) = %s"], params=["Andrei"])
[<Person: 1>]
**************
Usando la consulta:
```
SELECT TO_ASCII(CAT_CLIENTES.NOMBRE, ‘LATIN1’) LIKE ‘%"+variable+"%’ ORDER BY CAT_CLIENTES.NOMBRE ASC
```
Con la sencilla función TO_ASCII aplicada sobre el campo NOMBRE, tendrá el efecto de que los resultados traídos por la consulta no tomaran en cuenta si el registro tiene o no tilde.
Por lo que si ahora buscamos “Juan Apostol” nos traerá de resultado “Juan Apóstol” aunque no lo hallamos escrito con su acento correspondiente.
以上是关于markdown Realizarbúsquedasignorando las tildes con postgresql的主要内容,如果未能解决你的问题,请参考以下文章