miércoles, 1 de diciembre de 2010

SQL Server - Operaciones con Fechas y Horas

El tratamiento de fechas y horas en SQL Server es uno de los temas que más generan preguntas en los foros y grupos de noticias de programación.

Aquí muestro algunas consultas que usé alguna vez para hacer comparaciones entre fechas. Para más referencias podemos buscar DATEADD en el ayuda del SQL.

Cuando queremos:

-- Restar 30 minutos a la fecha y hora actual
SELECT DATEADD(MINUTE, -30, GETDATE()) AS '30 minutos antes'
GO

-- Sumar 1 hora a la fecha y hora actual
SELECT DATEADD(HOUR, 1, GETDATE()) AS '1 hora después'
GO

-- Restamos 1 día a la fecha actual
SELECT DATEADD(DAY, -1, GETDATE()) AS '1 día antes'
GO

-- Seleccionar solo la Fecha de un campo DATETIME (Fecha y Hora)
SELECT CONVERT(DATETIME, CONVERT(VARCHAR, @variable-fecha, 101), 101)
GO

2 comentarios: