![]() |
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. |
Con campos numéricos suele usarse el comparador = o bien el between
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
|
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! |
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. ;) |
La franja horaria es GMT +2. Ahora son las 06:04:31. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi