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

markdown Excluye lasopcionesmúltiplesquefueron elegidas en una pregunta deopcionesmúltiple

markdown Lista decomandosúteisdoGIT

markdown Números

markdown Lista decomandosúteisdoGIT

markdown Herenciamúltipledeestado,implementaciónytipo

markdown Cómofracasaren casi todoyaúnasítriunfar(Dilbert)