borda_esquerda
borda_direita
Mostrando postagens com marcador postgres. Mostrar todas as postagens
Mostrando postagens com marcador postgres. Mostrar todas as postagens

Consulta no postgres com acentos

  Vou mostrar neste post como utilizar uma função em pl sql que retira acentos, para os casos em que a codificação do seu banco for utf-8.
  Um grande problema que encontrei quando comecei a desenvolver sistemas para web, foi o fato de ter que realizar consultas com palavras acentuadas em bancos de dados com codificação utf-8, e vi que isso era a dúvida e um grande problema para muitos outros desenvolvedores tambem.
  Então segue abaixo uma função em pl sql para postgres que retira os acentos, para facilitar na hora da consulta.

Obs: Esta função foi achada em fóruns sobre postgres, por isso não creditei a ninguem, caso alguém conheça o criador do código, deixa como comentário que eu atualizo o post dando o devido crédito.
CREATE OR REPLACE FUNCTION sem_acento(text)
RETURNS text AS
$BODY$
select
translate($1,'áàâãäéèêëíìïóòôõöúùûüÁÀÂÃÄÉÈÊËÍÌÏÓÒÔÕÖÚÙÛÜçÇ',
'aaaaaeeeeiiiooooouuuuAAAAAEEEEIIIOOOOOUUUUcC'); $BODY$
LANGUAGE 'sql' IMMUTABLE STRICT;
E depois de criado a função no postgres é só realizar as consultas como no exemplo abaixo: SELECT * FROM Tabela WHERE UPPER(sem_acento(campo_que_deseja_retirar_os_acentos))
LIKE UPPER(sem_acento('%cão%'));
-- Retorna CAO, CÃO, cao, etc.

Leia Mais...