当前位置: 代码迷 >> Sql Server >> 当月的第一天和最后一天?该怎么处理
  详细解决方案

当月的第一天和最后一天?该怎么处理

热度:32   发布时间:2016-04-27 12:34:36.0
当月的第一天和最后一天?
我想把当月的第一天定义为26日,最后一天为25日,怎么写个函数?
比如今天是8月1日,那么第一天为7月26日,最后一天为8月25日。
今天是8月27日,那么第一天是8月26日,最后一天为9月25日。

------解决方案--------------------
写个函数得了

SQL code
IF OBJECT_ID('F_getmonths') IS NOT NULL DROP FUNCTION  F_getmonthsGOCREATE FUNCTION F_getmonths(@n_date datetime)RETURNS @tb_month table(第一天 datetime,最后一天 datetime)ASBEGIN   declare @N_day int    declare @first_date datetime,@last_date datetime   set @n_day=datepart(dd,@n_date)   if @n_day >25     begin          set @first_date=cast(cast(year(@n_date) as varchar)+'-'+cast(month(@n_date)as varchar)+'-26' as datetime)         set @last_date=cast(cast(year(@n_date) as varchar)+'-'+cast(month(dateadd(mm,1,@n_date))as varchar)+'-25' as datetime)     end   else        begin          set @first_date=cast(cast(year(@n_date) as varchar)+'-'+cast(month(dateadd(mm,-1,@n_date))as varchar)+'-26' as datetime)          set @last_date=cast(cast(year(@n_date) as varchar)+'-'+cast(month(@n_date)as varchar)+'-25' as datetime)       end       insert @tb_month select @first_date,@last_date       returnENDGO
  相关解决方案