Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: Zeroql en 21 Febrero 2012, 22:39 pm



Título: (Resuelto) Buscar un dato numerico con LIKE SQL SERVER 2005
Publicado por: Zeroql en 21 Febrero 2012, 22:39 pm
Buenas
bueno tengo el inconveniente de que necesito realizar una busqueda de un campo numerico de x tabla, pero al intentar realizar la busqueda me dice que to_char no es un nombre de funcion valida

Código
  1. SELECT codigo,nombre,apellidos,cod_area,nom_area
  2. FROM users_info JOIN area ON users_info.area=area.cod_area
  3. WHERE to_char(codigo,'9999999999') LIKE @cod
  4.  

y cuando cambio a la busqueda normal me salta el error de que no puede convertir varchar a numeric

el code seria este.

Código
  1. SELECT codigo,nombre,apellidos,cod_area,nom_area
  2. FROM users_info JOIN area ON users_info.area=area.cod_area
  3. WHERE codigo LIKE '%'+@cod+'%'
  4.  

Ya he buscado en internet como loco y no encuentro nada

Alguien sabe como solucionar este error o como puedo  realizar una busqueda de un dato en un campo numerico???
muchas gracias!!!


Título: Re: (Resuelto) Buscar un dato numerico con LIKE SQL SERVER 2005
Publicado por: Zeroql en 22 Febrero 2012, 03:30 am
Bueno tanto buscar soluciones encontre una NO muy practica pero que no me presenta errores
es el uso del operador CAST, para convertir tipo de datos.

aqui dejo el code de como lo solucione

Código
  1. SELECT  CAST(codigo AS VARCHAR),nombre,apellidos,cod_area,nom_area
  2. FROM users_info JOIN area ON users_info.area=area.cod_area
  3. WHERE CAST(codigo AS  VARCHAR) LIKE '%'+@cod+'%'
  4.