[firebase-br] Collate e Character Set

Pha-Lista lista em pha.com.br
Qua Jan 19 09:07:39 -03 2005


Completando.

Utilizando o Collate WIN_PTBR, esqueça a função UPPER, o proprio collate já é Case a Acento insensitive.

A consulta retornara o registro, utilizando:

where NOME = 'ALEMANHA'

ou

where NOME = 'Alemanha'

ou outras combinacoes

where NOME = 'aLEmaNhA'
 
PHA
Nova Odessa / SP - Brazil


-----Mensagem original-----
From: Pha-Lista lista em pha.com.br
Date: Wed, 19 Jan 2005 11:01:03 -0300
To: FireBase lista em firebase.com.br
Subject: Re: [firebase-br] Collate e Character Set

> 5) select * from PAIS where NOME collate WIN_PTBR = 'ALEMANHA'
>  Resultado: Retornou o registro referente a Alemanha e estabeleceu 
> automaticamente o seguinte PLAN:
>  PLAN: (PAIS NATURAL)
> 
> 6) select * from PAIS where Upper(NOME) = 'ALEMANHA' plan (PAIS index 
> (RDB$PRIMARY92))
>  Resultado: Erro na consulta: "o PLAN não pode ser usado para essa 
> consulta"
> 
> 7) select * from PAIS where NOME collate WIN_PTBR = 'ALEMANHA' plan 
> (PAIS index (RDB$PRIMARY92))
>  Resultado: Erro na consulta: "o PLAN não pode ser usado para essa 
> consulta"
> 
> Se você criar o campo com o collate WIN_PTBR, o indice será utilizado.
> 
> Da forma como você fez, está convertendo os dados entre os Collate, dessa forma o indice não é utilizado, é como se você estivesse utilizando um função, o principio é o mesmo. 
> 
> Faço o teste:
> 
> 1) Crie um novo campo.
> 
> ALTER TABLE TABELA
> ADD NOME2 COLLATE WIN_PTBR;
> 
> 2) Copie os dados do campo NOME para NOME2
> 
> 3) Crie um indice para o campo NOME2
> 
> 4) Refaça os testes, e nos passe o resultado
> 
> 
> PHA
> Nova Odessa / SP - Brazil
> 
> 
> 





Mais detalhes sobre a lista de discussão lista