Acabei de desenvolver uma Function com o MySQL para remover acentos muito útil para criação de URL Amigáveis, ela esta bem simples removendo apenas os caracteres com acentos mas é bem fácil de modificá-la de acordo com a necessidade.
Bom, aqui esta o código
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | DELIMITER // CREATE FUNCTION Func_Remove_Acentos(Texto VARCHAR(150)) RETURNS VARCHAR(150) NOT DETERMINISTIC BEGIN DECLARE Acentos, SemAcentos, Resultado VARCHAR(150); DECLARE Cont INT; SET Acentos = 'ÀÂÊÔÎÛÃÕÁÉÍÓÚÇÜ'; SET SemAcentos = 'AAEOIUAOAEIOUCU'; SET Cont = CHAR_LENGTH(Texto); SET Resultado = UPPER(Texto); WHILE Cont > 0 DO SET Resultado = REPLACE(Resultado, SUBSTRING(Acentos, Cont, 1), SUBSTRING(SemAcentos, Cont, 1)); SET Cont = Cont - 1; END WHILE; RETURN LOWER(Resultado); END // |
Para testar basta fazer a chamada no SQL
1 | SELECT Func_Remove_Acentos('São Paulo'); |
Espero ter ajudado. Até a próxima.