Cidades com acentos e camilcase, arrumando na hora do relatório

Bom nesse post, vou tratar de um assunto que acontece quando precisamos de um relatório por cidade, mas está sendo preenchido por um campo input text no html, ai mora o perigo vai ter usuario que vai escrever São José dos Pinhais outros sao jose dos pinhais e por ai vai com camilcase e tudo mais,  para melhorar a precisão do seu relatório você pode utilizar o translate deixando as letras grandes e tirando os acentos ai vai melhorar e muito a consistencia de seu relatório essa query foi feita em postgresql segue abaixo a ideia

SELECT TRANSLATE(UPPER(participantes.par_cidade),'áéíóúàèìòùãõâêîôôäëïöüçÁÉÍÓÚÀÈÌÒÙÃÕÂÊÎÔÛÄËÏÖÜÇ','aeiouaeiouaoaeiooaeioucAEIOUAEIOUAOAEIOOAEIOUC') as par_cidade
,participantes.par_uf, count(TRANSLATE(UPPER(participantes.par_cidade),
'áéíóúàèìòùãõâêîôôäëïöüçÁÉÍÓÚÀÈÌÒÙÃÕÂÊÎÔÛÄËÏÖÜÇ','aeiouaeiouaoaeiooaeioucAEIOUAEIOUAOAEIOOAEIOUC')) AS total
FROM participantes
GROUP BY TRANSLATE(UPPER(participantes.par_cidade),
'áéíóúàèìòùãõâêîôôäëïöüçÁÉÍÓÚÀÈÌÒÙÃÕÂÊÎÔÛÄËÏÖÜÇ','aeiouaeiouaoaeiooaeioucAEIOUAEIOUAOAEIOOAEIOUC'),
participantes.par_uf
ORDER BY TRANSLATE(UPPER(participantes.par_cidade),
'áéíóúàèìòùãõâêîôôäëïöüçÁÉÍÓÚÀÈÌÒÙÃÕÂÊÎÔÛÄËÏÖÜÇ','aeiouaeiouaoaeiooaeioucAEIOUAEIOUAOAEIOOAEIOUC')

Obrigado até o próximo post