miércoles, 2 de marzo de 2022

Obtener días del mes SQL

 Con la siguiente consulta te permite obtener una lista de los dias de un mes, pide como parametros de entrada el mes y el año

declare @MES INT
DECLARE @AÑO INT
DECLARE @FechaInicio date
DECLARE @FechaFin date


SET @MES = 2
SET @AÑO = 2022

 SELECT @FechaInicio = CONVERT(DATE,CONVERT(NVARCHAR,@AÑO)+'-'+CONVERT(NVARCHAR,@MES)+'-01')

select @FechaFin = EOMONTH(@FechaInicio)

 
--Aquí creamos la variable tabla con los valores
DECLARE @DiaMes TABLE ([Fecha] DATE,[Año] int,[Mes] int,[Dia] int,[noDia] int, [dsDia] nvarchar(50))

    WHILE(@FechaInicio<=@FechaFin) 
        BEGIN   
            INSERT @DiaMes([Fecha],[Año],[Mes] ,[Dia] ,[noDia], [dsDia] )
            SELECT  @FechaInicio, YEAR(@FechaInicio), MONTH(@FechaInicio), 
DAY(@FechaInicio),DATEPART(weekday,@FechaInicio),(case DATEPART(dw,@FechaInicio) when 2 
then 'Lunes' when 3 then 'Martes' when 4 then 'Miércoles' when 5 then 'Jueves' when 6
 then 'Viernes' when 7 then 'Sábado' when 1 then 'Domingo' end
            SET @FechaInicio = DATEADD(DD,1,@FechaInicio)
        END
select * from @DiaMes

Resultado:



No hay comentarios:

Publicar un comentario

Comenta cualquier duda o recomendatorio.