declare @Año varchar(4), @Mes varchar (2), @FechaEspecifica datetime , @Fecha varchar(10), @FechaInicial datetime , @FechaFinal datetime
set @FechaEspecifica = getdate()
select @Año = Convert(varchar (4),datepart(year ,@FechaEspecifica))
select @Mes = right('0' +Convert(varchar(2), datepart(month,@FechaEspecifica )),2)
set @Fecha = @Año+@Mes+ '01' -- compongo la fecha especifica al primer dia del mes
set @FechaInicial = Convert( datetime,@Fecha) --- obtengo el primer dia del mes
print @FechaInicial
set @FechaFinal = dateadd( month,1,@FechaInicial) -1 -- incremento un mes y le resto un dia
print @FechaFinal
--- version corta
print dateadd(month ,1, Convert(datetime ,Convert(varchar(4 ),datepart(year,@FechaEspecifica ))+right('0'+Convert(varchar (2),datepart(month ,@FechaEspecifica)),2)+ '01'))-1
-- Resultados Obtenidos
Jan 1 2007 12:00AM
Jan 31 2007 12:00AM
Jan 31 2007 12:00AM
--
Saludos,
Manolo Herrera
1 comentario:
DECLARE @FECHA DATETIME='15-02-2008'
DECLARE @DIA DATETIME =(SELECT DATEADD(month, DATEDIFF(month, 0, @FECHA) + 1, 0) - 1)
SELECT DATEPART(DAY ,@DIA ) AS ULTIMODIA
Publicar un comentario