[firebase-br] Collate e Character Set
Pha-Lista
lista em pha.com.br
Qua Jan 19 09:01:03 -03 2005
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