PostgreSQL: função para remover acentuação

Uma funçãozinha para remover acentos de strings no PostgreSQL… Útil.


CREATE OR REPLACE FUNCTION sem_acentos(character varying)
RETURNS character varying AS
$BODY$

SELECT translate($1, 'áéíóúàèìòùãõâêîôôäëïöüçÁÉÍÓÚÀÈÌÒÙÃÕÂÊÎÔÛÄËÏÖÜÇ', 'aeiouaeiouaoaeiooaeioucAEIOUAEIOUAOAEIOOAEIOUC')

$BODY$
LANGUAGE 'sql' VOLATILE;

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks

Tags:

One Response to PostgreSQL: função para remover acentuação

  1. Valdemir Luz disse:

    Função melhorada…

    –funcao: tira acento das palavras
    CREATE OR REPLACE FUNCTION tiraacento(text)
    RETURNS text AS
    $BODY$
    SELECT translate( lower($1), text ‘åáàãâäéèêëíìîïóòõôöúùüûçÿýñÅÁÀÃÂÄÉÈÊËÍÌÎÏÓÒÕÔÖÚÙÛÜÇÝÑ’, text ‘aaaaaaeeeeiiiiooooouuuucyynAAAAAAEEEEIIIIOOOOOUUUUCYN’)
    $BODY$
    LANGUAGE SQL STRICT;

Deixe uma resposta

O seu endereço de email não será publicado Campos obrigatórios são marcados *

*

Você pode usar estas tags e atributos de HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">