Tagged: query

Cálculo de fechas SQL Server

Ejemplo simple para el cálculo de diferencias en fechas

Acá hay una consulta SqlServer para el cálculo de diferencias de fechas sql, el rango de la diferencia está en días minutos y segundos, esto lo uso particularmente para cuando necesito saber el tiempo que ha pasado desde que un dato fue insertado o actualizado hasta la fecha actual.

Como dato adicional puedes consultar esta publicación para el formateo de registros del tipo datetime https://cesarg.cl/formateo-de-una-fecha-en-sql-server/

Este cálculo de fechas lo realicé en una query de SQL Server 2012, es muy sencilla y tiene como base de cálculo la fecha y hora actual del servidor, por otro lado hay que considerar que la unidad que usa sql server para restar o sumar periodos a una fecha es el día, entendiendo esto, por lo que para restar periodos inferiores a días, ejemplo: horas, minutos y segundos se debe dividir 1(día) por 24, 2460 y 2460*60 respectivamente.

SELECT 
getdate() AS fecha_actual,
getdate() - 1 AS fecha_dia_menos, ( getdate() - ( CAST ( 1 AS FLOAT ) / 24 ) ) AS fecha_hora_menos,
getdate() - ( (CAST ( 1 AS FLOAT ) / (24 * 60)) ) AS fecha_minuto_menos,
getdate() - ( (CAST ( 1 AS FLOAT ) / (24 * 60 * 60)) ) AS fecha_segundo_menos

El resultado de esta consulta sería algo como esto

Espero que les sea útil y cualquier comentario o mejora no dudes en realizarlo.