← maurobernal.com.ar

Etiqueta: dateadd

  • Ultimo dia del Mes con SQL Server y otros

    Trabajando con funciones TSQL para realizar cálculos de Fechas

    A continuación una serie de funciones en TSQL útiles para el cálculo de fechas:

    -->Mes Actual:
    -----------------------------------
    --Primer día del mes actual
    SELECT DATEADD(s,0,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))
    --Último día del mes actual
    SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0))
    
    -->Mes Anterior:
    -----------------------------------
    --Primer día del mes anterior
    SELECT DATEADD(s,0,DATEADD(mm, DATEDIFF(m,0,GETDATE())-1,0))
    --Último día del mes anterior
    SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE()),0))
    
    -->Mes Siguiente:
    -----------------------------------
    ----Primer día del mes siguiente
    SELECT DATEADD(s,0,DATEADD(mm, DATEDIFF(m,0,GETDATE())+1,0))
    ----Último día del mes siguiente
    SELECT DATEADD(s,-1,DATEADD(mm, DATEDIFF(m,0,GETDATE())+2,0))
    
    
    --> Trimestre Actual:
    -----------------------------------
    ----Primer día del trimestre actual
    SELECT DATEADD(qq,DATEDIFF(qq,0,GETDATE()),0) 
    ----Último día del trimestre actual
    SELECT DATEADD(qq,DATEDIFF(qq,-1,GETDATE()),-1)

    Resultados

    Con la fecha 10 de Noviembre del 2017 esto serían los resultados

    Primer_Y_Ultimo_Dia_Resultados

     

    Otra alternativa

    Continuando con el trabajo con fechas con TSQL podemos hacer lo mismo, pero con una función nativa: EOMONTH()

    Si les interesa les dejo el link, que incluye como siempre un caso práctico:

    https://maurobernal.com.ar/blog/blog/t-sql/obtener-ultimo-dia-del-mes-sql-server/


Tags

tsql (27)mssql (26)sql (20)devops (20)dotnet (18)docker (15)performance (14)contenedores (11)dotnet10 (10)linux (9)csharp (8)microservicios (7)angular (7)angular21 (7)sql server (6)issabel (6)docker-compose (6)typescript (6)mysql (5).NET (5)