Gostaria de saber como retornar somente os caracteres do banco de dados sem acentos ou vírgulas e pontos.
Retornar Valor do Banco de Dados sem Acento e sem pontos,virgulas ou barras
2 Respostas
não conheço alguma função específica para isto, mas você pode varres os dados que são buscados na base e fazer a correção através de um método:
public static String removeAcentos(String conteudo) {
conteudo = conteudo.replaceAll("[ÂÀÁÄÃ]", "A");
conteudo = conteudo.replaceAll("[âãàáä]", "a");
conteudo = conteudo.replaceAll("[ÊÈÉË]", "E");
conteudo = conteudo.replaceAll("[êèéë]", "e");
conteudo = conteudo.replaceAll("ÎÍÌÏ", "I");
conteudo = conteudo.replaceAll("îíìï", "i");
conteudo = conteudo.replaceAll("[ÔÕÒÓÖ]", "O");
conteudo = conteudo.replaceAll("[ôõòóö]", "o");
conteudo = conteudo.replaceAll("[ÛÙÚÜ]", "U");
conteudo = conteudo.replaceAll("[ûúùü]", "u");
conteudo = conteudo.replaceAll("Ç", "C");
conteudo = conteudo.replaceAll("ç", "c");
conteudo = conteudo.replaceAll("[ýÿ]", "y");
conteudo = conteudo.replaceAll("Ý", "Y");
conteudo = conteudo.replaceAll("ñ", "n");
conteudo = conteudo.replaceAll("Ñ", "N");
return conteudo;
}
Acho que isso resolve seu problema, só falta incrementar para o que vc precisa ae
Não sei em outros bancos, mais no postgres já precisei e usei o translate.
Dá uma olhada:
SELECT translate('não é', 'áãé', 'aae')
Saída:
“nao e”
Mais aqui: