Problema con campos DateTime no me funciona el Comando Select between

23/06/2005 - 17:54 por César Laínez | Informe spam
Hola amig@s, soy nuevo en SQL y tengo el siguiente problema :
Tengo un campo Datetime en el cual guardo el valor fecha y hora exacta,
cuando hago un select between para un dia no me selecciona nada pero si le
agrego un dia mas a la fecha hasta si lo hace, entiendo que es por la hora
que me esta afectando pero no he encontrado una forma que solo me compare la
fecha y obvie la hora.
Lo que necesito es un reporte entre 2 fechas sin importar la hora,

Muchas gracias de antemano,

Preguntas similare

Leer las respuestas

#1 Alejandro Mesa
23/06/2005 - 18:30 | Informe spam
Usa este patron:

declare @sd datetime, @ed datetime

set @s = '20050101'
set @s = '20050131'

select c1, ..., cn
from t1
where c2 >= convert(char(8), @sd, 112) and c2 < dateadd(day, 1,
convert(char(8), @ed, 112))

Si quieres las filas que cumplan que la columna [c2] este entre '20050101' y
'2005-01-31T23:59:59.997', la sentencia anterior hace esta comparacion:

select c1, ..., cn
from t1
where c2 >= '2005-01-01T00:00:00.000' and c2 < '2005-02-01T00:00:00.000'


AMB

AMB

"César Laínez" wrote:

Hola , soy nuevo en SQL y tengo el siguiente problema :
Tengo un campo Datetime en el cual guardo el valor fecha y hora exacta,
cuando hago un select between para un dia no me selecciona nada pero si le
agrego un dia mas a la fecha hasta si lo hace, entiendo que es por la hora
que me esta afectando pero no he encontrado una forma que solo me compare la
fecha y obvie la hora.
Lo que necesito es un reporte entre 2 fechas sin importar la hora,

Muchas gracias de antemano,



Respuesta Responder a este mensaje
#2 César Laínez
23/06/2005 - 19:31 | Informe spam
ok, muchas gracias

"Alejandro Mesa" escribió en el
mensaje news:
Usa este patron:

declare @sd datetime, @ed datetime

set @s = '20050101'
set @s = '20050131'

select c1, ..., cn
from t1
where c2 >= convert(char(8), @sd, 112) and c2 < dateadd(day, 1,
convert(char(8), @ed, 112))

Si quieres las filas que cumplan que la columna [c2] este entre '20050101'
y
'2005-01-31T23:59:59.997', la sentencia anterior hace esta comparacion:

select c1, ..., cn
from t1
where c2 >= '2005-01-01T00:00:00.000' and c2 < '2005-02-01T00:00:00.000'


AMB

AMB

"César Laínez" wrote:

Hola , soy nuevo en SQL y tengo el siguiente problema :
Tengo un campo Datetime en el cual guardo el valor fecha y hora exacta,
cuando hago un select between para un dia no me selecciona nada pero si
le
agrego un dia mas a la fecha hasta si lo hace, entiendo que es por la
hora
que me esta afectando pero no he encontrado una forma que solo me compare
la
fecha y obvie la hora.
Lo que necesito es un reporte entre 2 fechas sin importar la hora,

Muchas gracias de antemano,



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