[firebase-br] AnsiLowerCase/AnsiUpperCase no Firebird 3.0

Luiz Fernando Trevisan luizztrevisan em gmail.com
Sexta Maio 13 15:30:05 -03 2022


Você precisa usar campos que seja insensível a acentos.

Para Campos de nomes geralmente utilizo ISO8859_1 com COLLATE PT_BR assim
ele é case insensitive e accent insensitive ou UTF8 com COLLATE
UNICODE_CI_AI.

Procure por firebird collations no Google para encontrar a tabela completa



Porém se precisa ajustar isso em um select, vc pode fazer um cast do seu
campo

upper(cast('mário' as varchar(200) character set ISO8859_1) COLLATE PT_BR)


Isso vale também para ordenações etc. ...



Em sex., 13 de mai. de 2022 14:51, Mário Reis via lista <
lista em firebase.com.br> escreveu:

> Boa tarde companheiros,
> Tem como conseguir fazer AnsiLowerCase? É que o LOWER('MÁRIO') resulta:
> "mÁrio" e o Upper('mário') resulta:  "MáRIO" no Delphi o ANSI resolveu isso
> e no Firebird? Por ridículo que possa parecer é o que dá?!
> Queria evitar fazer mais uma função externa visto que a partir do FB4 elas
> serão descontinuadas?! Obrigado
>
> Com os meus melhores cumprimentos
> Mário Agostinho Reis
> 919262146
>
> Esta mensagem contém informação de natureza confidencial e é
> exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
> receber este email agradecemos que não o copie nem o reenvie e que nos
> notifique do ocorrido através do email de resposta.
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use:
> http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas:
> http://www.firebase.com.br/pesquisa_lista.html
>


Mais detalhes sobre a lista de discussão lista