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的主要内容,如果未能解决你的问题,请参考以下文章