Sentencias SQL: Datetime
Repositorio de sentencias útiles para Microsoft SQL Server con la finalidad de tener un repositorio de referencia y consulta. No pretende ser una entrada de formación.
Sentencias útiles de tiempo:
- Hoy
- Primer día del mes anterior
- Primer día del mes corriente
- Primer día del mes siguiente
- Último día del mes anterior
- Último día del mes corriente
- Último día del mes siguiente
- De fecha/hora UTC a fecha/hora local
DECLARE @hoy DATETIME SELECT @hoy = GETDATE() SELECT CONVERT(VARCHAR(25), @hoy, 103) AS Fecha, 'Hoy' AS [Descripción] UNION SELECT CONVERT(VARCHAR(25), DATEADD(MONTH, DATEDIFF(MONTH, 0, @hoy) - 1, 0), 103) AS Fecha, 'Primer día del mes anterior' AS [Descripción] UNION SELECT CONVERT(VARCHAR(25), DATEADD(dd, -(DAY(@hoy) - 1),@hoy), 103) AS Fecha, 'Primer día del mes corriente' AS [Descripción] UNION SELECT CONVERT(VARCHAR(25), DATEADD(dd, -(DAY(DATEADD(mm, 1, @hoy)) - 1), DATEADD(mm, 1, @hoy)), 103) AS Fecha, 'Primer día del mes siguiente' AS [Descripción] UNION SELECT CONVERT(VARCHAR(25), DATEADD(MONTH, DATEDIFF(MONTH, -1, @hoy) - 1, -1), 103) AS Fecha, 'Último día del mes anterior' AS [Descripción] UNION SELECT CONVERT(VARCHAR(25), DATEADD(dd, -(DAY(DATEADD(mm, 1, @hoy))), DATEADD(mm,1,@hoy)), 103) AS Fecha, 'Último día del mes corriente' AS [Descripción] UNION SELECT CONVERT(varchar(25), DATEADD(dd, -(DAY(DATEADD(mm, 2, @hoy))), DATEADD(mm, 2, @hoy)), 103) AS Fecha, 'Último día del mes siguiente' AS [Descripción] GO DECLARE @utcdate DATETIME = '2019-07-14 11:11:37.127' SELECT @utcdate AS UTCTime, Dateadd(hh, Datediff(hh, Getutcdate(), Getdate()), @utcdate) AS LocalDateTime; GO |