[firebase-br] RES: Charset e Collations

Priscila Lugon priscila em agriness.com
Ter Jan 5 15:44:56 -03 2010


Valeu Elton, não funcionou com o UTF8, pois esse Charset não aceita
acentuação, mas no link que você passou, eu encontrei o charset WIN1250 /
WIN_CZ, que solucionou o meu problema.

Eu precisava desse tipo de configuração, pois quando eu fizesse um Order by
de um campo texto, eu queria que ele ordenasse por ordem alfabética sem
considerar se está em maiúscula ou minúscula (ex: Alberto, alex, Carlos,
etc). Só que eu não queria que ao utilizar uma comparação (where), ele
desconsiderasse os acentos (ex: 'Jose' = 'José').

No order by seria simples solucionar a ordenação colocando um UPPER, mas
acontece que eu estou traduzindo vários SQL's do Access (migração de banco),
e não queria colocar em todos os Order by que utilizam texto um UPPER na
frente :)

Obrigada,

Priscila Lugon
Tecnologia
----------------------------------------------------------------------------
-------------------------------
AGRINESS – Gestão da Informação para Suinocultura 
www.agriness.com |  + 55 (48) 3028-0015 |   priscila em agriness.com
----------------------------------------------------------------------------
-------------------------------


-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Elton da Motta Barbosa
Enviada em: terça-feira, 5 de janeiro de 2010 10:45
Para: lista em firebase.com.br
Assunto: [firebase-br] Charset e Collations

  Eu sei que o charset UTF8 tem o collate UTF-8 que é case
insensitive, e até onde eu sei, não é accent insensitive. Mas não sei
de outros. Contudo, acho que ele só funciona do FB2.1.

  Você pode ter uma visão geral de outros aqui
http://www.destructor.de/firebird/charsets.htm

  Mas o que você pretende obter com isso? Se for apenas para usálo por
exemplo em uma tabela, você pode criar um índice calculado com a
expressão UPPER. Exemplo abaixo:

CREATE INDEX nomedoindice ON tabela COMPUTED BY (UPPER(campo1))

  Daí quando for fazer a pesquisa é só fazer:

Select campo1,campo2.... from tabela where UPPER(campo1) =
UPPER('texto a ser procurado')

______________________________________________
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://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista