Retornar Valor do Banco de Dados sem Acento e sem pontos,virgulas ou barras

2 respostas
C

Gostaria de saber como retornar somente os caracteres do banco de dados sem acentos ou vírgulas e pontos.

2 Respostas

Tiburcio_Mancha

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

felipedamiani

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:

http://www.java2s.com/Code/PostgreSQL/String-Functions/translatenameaeiouAEIOUReplaceallvowelswithnothing.htm

Criado 14 de dezembro de 2009
Ultima resposta 14 de dez. de 2009
Respostas 2
Participantes 3