RT

解决方案 »

  1.   

    找出本月最后一天对应周几就出来了啊declare @term datetime
    declare @sdate datetime
    select @term=convert(varchar(7),dateadd(month,1,getdate()),120)+'-01'
    select @sdate=dateadd(day,-1,@term) --得到本月最后一天
    select datename(weekday,@sdate),@sdate --最后一天对应星期几--结果:
    星期四 2008-01-31 00:00:00.000
      

  2.   

     
    declare @rq datetime,@e_rq datetime
    select @rq=getdate()                    ----要判断的日期
    select @e_rq=convert(varchar(7),dateadd(month,1,@rq),120)+'-01'
    select @e_rq=dateadd(day,-1,@e_rq)     --得到判断日期当月的最后一天
    select case when datepart(week,@rq)=datepart(week,@e_rq) 
    then convert(varchar(10),@rq,120)+'是本月最后一个星期'
    else convert(varchar(10),@rq,120)+'不是本月最后一个星期'end /*
    2008-01-22不是本月最后一个星期
    */
      

  3.   

     
    declare @rq datetime,@e_rq datetime
    select @rq=getdate()                    ----要判断的日期
    select @e_rq=convert(varchar(7),dateadd(month,1,@rq),120)+'-01'
    select @e_rq=dateadd(day,-1,@e_rq)     --得到判断日期当月的最后一天
    select case when datepart(week,@rq)=datepart(week,@e_rq) 
    then convert(varchar(10),@rq,120)+'是本月最后一个星期'
    else convert(varchar(10),@rq,120)+'不是本月最后一个星期'end /*
    2008-01-22不是本月最后一个星期
    */
      

  4.   


    create function [dbo].[IsLastweek]
    (
    @yourDate datetime
    )
    RETURNS int AS 
    begin 
    declare @TempDate datetime
    declare @WeekNum int
    declare @LastWeekNum int
    set @TempDate = @yourDate
    select @TempDate=convert(varchar(7),dateadd(month,1,getdate()),120)+'-01'
    select @TempDate=dateadd(day,-1,@TempDate) --本月最后一天
    select @LastWeekNum = datepart(wk,@TempDate)
    select @WeekNum = datepart(wk,@yourDate)
    select @WeekNum = (case @WeekNum when @LastWeekNum then 1 else 0 end)
    return @WeekNum
    endselect [dbo].[IsLastweek](cast('2008-01-03' as datetime))
    --------
    0