LIKE en campo numerico

13/01/2009 - 21:14 por Juan Linares | Informe spam
Quiero que SQL me devuelva los registros que en un campo numerico contengan
un numero, por ejemplo si mi aplicacion envia 55 me devolvera 5589, 96557,
3554 y si no aplico dicha variable debera devolverme todos.

Estoy haciendo un buscador en ASP el cual ejecuta una consulta de SQL pero
al utilizar la sentencia LIKE sobre un campo numerico me funciona si envio un
valor, pero si no envio nada solo me devuelve poco menos de la mitad de mis
registros. Alguien puede ayudarme??

de antemano mil gracias

Preguntas similare

Leer las respuestas

#1 Carlos M. Calvelo
13/01/2009 - 23:30 | Informe spam
Hola Juan,

On 13 jan, 21:14, Juan Linares <Juan
wrote:
Quiero que SQL me devuelva los registros que en un campo numerico contengan
un numero, por ejemplo si mi aplicacion envia  55 me devolvera 5589, 96557,
3554 y si no aplico dicha variable debera devolverme  todos.

Estoy haciendo un buscador en ASP el cual ejecuta una consulta de SQL pero
al utilizar la sentencia LIKE sobre un campo numerico me funciona si envio un
valor, pero si no envio nada solo me devuelve poco menos de la mitad de mis
registros. Alguien puede ayudarme??

de antemano mil gracias



Los registros que no te devuelve seguro que tienen nulos
en ese campo.
Supongo que si no envias nada ('') entonces estás
haciendo algo así:

where campo like '%%' and <otras condiciones>

Si no buscas algo en concreto podrías simplemente no
poner esa condición:

where <otras condiciones>

O así:

where isnull(campo,'') like and ...

Pero mejor la primera opción.

Saludos,
Carlos
Respuesta Responder a este mensaje
#2 Maxi \(MVP\)
14/01/2009 - 00:02 | Informe spam
Hola, como cuando no envia nada? sea mas explicito por favor y muestrenos
que esta haciendo

"Juan Linares" <Juan escribió en el
mensaje de noticias
news:
Quiero que SQL me devuelva los registros que en un campo numerico
contengan
un numero, por ejemplo si mi aplicacion envia 55 me devolvera 5589,
96557,
3554 y si no aplico dicha variable debera devolverme todos.

Estoy haciendo un buscador en ASP el cual ejecuta una consulta de SQL pero
al utilizar la sentencia LIKE sobre un campo numerico me funciona si envio
un
valor, pero si no envio nada solo me devuelve poco menos de la mitad de
mis
registros. Alguien puede ayudarme??

de antemano mil gracias






Respuesta Responder a este mensaje
#3 Ricardo Junquera
14/01/2009 - 12:46 | Informe spam
Hola Juan

Si posteas la consulta y un ejemplo será más fácil ayudarte.
Un saludo

Ricardo Junquera
Consultor Business Intelligence

BG&S Online Consultores
Ganadora del Premio Microsoft Business Awards 2008.
Partner de Soluciones : Satisfacción de Cliente.



"Juan Linares" wrote:

Quiero que SQL me devuelva los registros que en un campo numerico contengan
un numero, por ejemplo si mi aplicacion envia 55 me devolvera 5589, 96557,
3554 y si no aplico dicha variable debera devolverme todos.

Estoy haciendo un buscador en ASP el cual ejecuta una consulta de SQL pero
al utilizar la sentencia LIKE sobre un campo numerico me funciona si envio un
valor, pero si no envio nada solo me devuelve poco menos de la mitad de mis
registros. Alguien puede ayudarme??

de antemano mil gracias






Respuesta Responder a este mensaje
#4 Jose Mariano Alvarez
14/01/2009 - 13:54 | Informe spam
Parece que esta utilizando like '%<valor>%'.
Si es asi, y si fuera posible, trate de evitar este tipo de búsquedas ya que
son ineficientes.
Le sugiero no usar el operador LIKE sobre campos numéricos ya que debería
producirse una conversión implícita.




Saludos

Ing. Jose Mariano Alvarez
SQLTotal Consulting


(Cambia los ceros por O y saca lo que sobra)


IMPORTANTE
Este mensaje se proporciona tal como es, sin garantías de ninguna clase.


Por favor tratar de indicar la versión de SQL y Service Pack.
La inclusión de (CREATE, INSERTS, etc.) para poder reproducir el problema
también ayuda.



"Juan Linares" <Juan wrote in message
news:
Quiero que SQL me devuelva los registros que en un campo numerico
contengan
un numero, por ejemplo si mi aplicacion envia 55 me devolvera 5589,
96557,
3554 y si no aplico dicha variable debera devolverme todos.

Estoy haciendo un buscador en ASP el cual ejecuta una consulta de SQL pero
al utilizar la sentencia LIKE sobre un campo numerico me funciona si envio
un
valor, pero si no envio nada solo me devuelve poco menos de la mitad de
mis
registros. Alguien puede ayudarme??

de antemano mil gracias






email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida