Para realizar operaciones entre dos fechas MSSQL tiene la función DATEDIFF. Veamos algunos ejemplos de cómo utilizarla:
declare @FechaIngreso datetimePara obtener otras diferencias podemos recurrir a la siguiente tabla:
declare @FechaEgreso datetime
select @FechaIngreso = '19981231 15:15'
select @FechaEgreso = '20021005 10:10'
Select
DATEDIFF(dd, @FechaIngreso, @FechaEgreso) AS Dias,
DATEDIFF(mm, @FechaIngreso, @FechaEgreso) AS Meses,
DATEDIFF(mi, @FechaIngreso, @FechaEgreso) AS Minutos
| Parte de la fecha | Abreviaturas |
| año | aa, aaaa |
| trimestre | tt, t |
| mes | mm, m |
| día del año | da, a |
| día | dd, d |
| semana | sm, ss |
| hora | hh |
| minuto | mi, n |
| segundo | ss, s |
| milisegundo | Ms |
SELECT TusDatosContinuando con las operaciones con las fechas, veamos como podemos hacer para sumar, restar, días, minutos, meses, a una fecha, para ello utilizamos la función DATEADD:
FROM TuTabla
WHERE
DATEDIFF(dd, TuFecha, GetDate()) <= 7
select convert(varchar(12), DATEADD(month, -1, getdate()), 106)
as 'un mes atrás'
select convert(varchar(12), DATEADD (week, -1, getdate()), 106)
as 'una semana atrás'
select convert(varchar(12), DATEADD (day, -1, getdate()), 106) as 'ayer'
