SQL - LIKE con tipos datetime & int

   
Vista:

LIKE con tipos datetime & int

Publicado por Alberto (2 intervenciones) el 09/02/2009 16:49:43
Saludo a todos, necesito hacer una consulta para seleccionar una fecha especifica en un campo de fecha y tambien seleccionar un codigo especifico en un campo de tipo int o float. He utilizado el comando LIKE pero no me funciona, lo he utilizando capturando datos de tipo alfanumerico (varchar, nvarchar, etc.) y todo bien, pero al utilizar los tipos especificados mas arriba me da error. Si alguien puede ayudarme con este caso le estaré muy agradecido, gracias de antemano.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:LIKE con tipos datetime & int

Publicado por pacopaz (143 intervenciones) el 09/02/2009 22:02:10
Lo que puedes intentar es convertir el campo en char y luego utilizar el like. No mencionas el motor de base de datos, pero para SQL server lo puedes hacer con cast o para Oracle con to_char. El query sería algo así:

Supuestos:
Tabla1(Campo1 int, Campo2 date, ...)
BD: SQL Server

select *
from Tabla1
where cast(Campo1 as varchar(20)) like '1%'
and cast(Campo2 as varcha(20)) like '12/%'

Como observación adicional, este tipo de query sería muy lento, aunque resolvería tu problema.
El consejo es que busques otro tipo de query para resolver lo que realmente quieres. Por ejemplo, puedes aplicar una división y traer el número entero para comparar la igualdad entre los primero dígitos de un número o traer partes de la fecha para comparar con lo que necesitas. Algo como esto: (bajo los mismos supuestos)

select *
from Tabla1
where floor(Campo1/1000) = 32 --por si quisieras todos los números del 32000
and (year(Campo2) = 2009 and month(Campo2) = 1) --si quisieras los registros de enero de 2009

Espero que te sirva.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:LIKE con tipos datetime & int

Publicado por Alberto (2 intervenciones) el 10/02/2009 19:17:11
Gracias hermano por la informacion, me ha sido muy util, todavia no tengo lo que quiero al 100%, pero ha sido un gran punto de partida y ya casi tengo el asunto listo. Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar