Ver Mensaje Individual
  #4  
Antiguo 19-02-2008
Avatar de RolphyReyes
RolphyReyes RolphyReyes is offline
Miembro
 
Registrado: ago 2004
Ubicación: Santo Domingo
Posts: 285
Reputación: 20
RolphyReyes Va por buen camino
Smile

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.
__________________
Gracias,
Rolphy Reyes
Responder Con Cita