Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 09-06-2004
Franklim Franklim is offline
Miembro
 
Registrado: abr 2004
Posts: 31
Poder: 0
Franklim Va por buen camino
Like con un numero es posible?

Hola amigos, estoy haciendo creando una busqueda para un programa en el cual permito que se haga por 3 campos diferentes :
Por Nombre
Por Apellidos
Por Numero Expediente
Uso el operador Like en la sentencia sql para que me devuelva todos los semejantes y funciona para el nombre y apellidos que son cadena de caracteres, pero para el Numero Expediente no porque es un numero o por que yo lo uso mal. Me gustaria saber si existe algun operador similar al like para numeros o si se puede usar el like que me expliquen como.

Saludos y muchas gracias por la ayuda.
Responder Con Cita
  #2  
Antiguo 09-06-2004
Avatar de cbrrr
cbrrr cbrrr is offline
Miembro
 
Registrado: jun 2004
Posts: 57
Poder: 20
cbrrr Va por buen camino
Con campos numéricos suele usarse el comparador = o bien el between

Código SQL [-]
 select *
 from tabla
 where campo between inicial and final
La verdad es que no tiene mucho sentido el like para número, pero si aun así te interesara, puedes mirar de hacer un casteo a string y luego usar el like
Código SQL [-]
 select *
 from tabla
 where cast(campo as varchar(X)) like 'valor'
__________________
Si no tienes algo que decir más importante que el silencio, cállate
Responder Con Cita
  #3  
Antiguo 09-06-2004
Avatar de delphi.com.ar
delphi.com.ar delphi.com.ar is offline
Federico Firenze
 
Registrado: may 2003
Ubicación: Buenos Aires, Argentina *
Posts: 5.932
Poder: 27
delphi.com.ar Va por buen camino
Yo he usado en mas de una ocasión LIKE con números sin problemas, en Oracle. Supongo que Oracle automáticamente convierte el número a string para procesarlo, por eso no utiliza los índices . No se en que motor trabajas, pero te recomiendo que pruebes hacer un like del cast a string del campo a buscar.

Saludos!
__________________
delphi.com.ar

Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla.
Responder Con Cita
  #4  
Antiguo 09-06-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Como bien ha apuntado delphi.com.ar, en el caso de oracle, ocurre una conversión automática de tipos, ya que el like funciona únicamente con cadenas.

No está de mas decir que una operación de este tipo será bastante ineficiente, pues el servidor no podrá utilizar ningún indice para optimizarla, por lo que tenderá a ser lenta en tablas con una cantidad regular de registros, ya que obligará a hacer full table scans. En el caso de Oracle, a partir de la 8i, puede crearse un indice basado en funciones, y entonces si que la consulta sería optima.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:47:44.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi