Saludos.
NO quiero que vayan a pensar que les estoy regañando sino que les estoy mejorando sus conceptos.
Cita:
Empezado por Lepe
Código SQL [-]select * from tabla where nombre containing 'an'
|
Esta solución es buena hasta un sentido porque el manejador busca "lo que sea" pero la mayor desventaja es que no utiliza indices aun teniendolo definido en el campo.
Cita:
Empezado por hecospina
Código SQL [-]
select * from table where upper(campo1)=upper(criterio de consulta)
|
Buena solución pero tambien obvia el indice.
La mejor recomendación es que utilices STARTING WITH que si toma en cuenta el indice, la desventaja es que es case sensitive.
Pero si utilizas Firebird 2.0 puedes definir un indice con expresión.
Código:
CREATE INDEX IDX1 ON T1
COMPUTED BY ( UPPER(COL1) );
COMMIT
Entonces sí con esta definición de indices puedes hacer lo siguiente:
Código SQL
[-]
Select * From t1 Where col1 Starting With Upper('hola');
Teniendo en cuenta que el string guardado debe de estar en mayuscula en ese campo, puedes hacer un trigger before post de tu tabla y almacenarlo en mayuscula.
Bueno espero haberte ayudado.