首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

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

2012-06-01 
当月的第一天和最后一天?我想把当月的第一天定义为26日,最后一天为25日,怎么写个函数?比如今天是8月1日,那

当月的第一天和最后一天?
我想把当月的第一天定义为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 

热点排行