Pregunta:
¿Una mano con las Fechas de SQL SERVER?
juanma
2012-02-04 08:04:42 UTC
Hola, necesito mostrar las asistencias realizadas a algunos departamentos que esten entre la fecha actual y unos meses atras, estuve haciendo esto, pero no me trae datos y tengo asistencias realizadas durante el rango de fechas que especifico, los algoritmos son los siguientes:

Select consorcios.razon_social as Consorcio,edificios.descripcion as Edificio, unidades.descripcion as Unidad, asistencias.descripcion as Asistencia, Estados.descripcion as Estado, asistencias.fecha_inicio as Fecha_Inicio, prioridades.descripcion as Prioridad
from Asistencias inner join Unidades
on Asistencias.unidad = Unidades.unidad
inner join Edificios
on Unidades.edificio = Edificios.edificio
inner join Consorcios
on Edificios.consorcio=Consorcios.consorcio
inner join Estados
on Asistencias.estado=Estados.estado
inner join Prioridades
on Asistencias.prioridad=Prioridades.prioridad

Where Asistencias.fecha_inicio between month(getdate()) and month(getdate()-5)

Order By Fecha_inicio
Tres respuestas:
?
2012-02-04 08:53:01 UTC
Lo puedes hacer con la función DATEADD http://msdn.microsoft.com/en-us/library/ms186819.aspx

Entonces el WHERE te quedaría así:



WHERE Asistencias.fecha_inicio BETWEEN GETDATE() AND DATEADD(month, -5, GETDATE())



-- El parametro -5 te resta cinco meses de la fecha actual.
Gabo
2012-02-04 18:00:45 UTC
UTLIZA EL WHERE Y SOLO TIENES QUE PONER DE DONDE A DONDE KIERES CONSULTAR POR EJEMPLO



WHERE FECHA_ANTERIOR>=FECHA AND FECHA_ACTUAL<=FECHA2;
aem
2012-02-04 16:41:05 UTC
Where month(Asistencias.fecha_inicio) between month(getdate()) and (month(getdate()) - 5)



Aparenemente tu error esta en el uso de las funciones month y getdate, getdate te devuelve fecha, y month te devuelve entero, no podes restarle a una fecha un entero, ni a una fecha limitarla entre dos enteros. Supuestamente asi te tiene que andar, si hay registros en los pasados 5 meses

(tambien levantara lo de los años anteriores, salv que agregues una definicion del año en tu condicion)



Dios te bendiga

SAludos

Antonio


Este contenido se publicó originalmente en Y! Answers, un sitio web de preguntas y respuestas que se cerró en 2021.
Loading...