首页 > 开发 > 综合 > 正文

计算指定年月的最后一天的自定义函数

2024-07-21 02:06:43
字体:
来源:转载
供稿:网友

/*
    name :    fun_yiyuedezuihouyitian
    function :   根据传入的格式如“200311”的年月值计算出当月的最后一天
    parameters :   
                        benyue  本月
                            type :  char(6)  
                            format :  "200311"
    returnvalue :   
                        格式如“200310”的年月值
                            type :  char(6)
    steps :
    author :   waxdoll cheung
    date :    2004-04-04
*/

create function dbo.fun_yiyuedezuihouyitian
 (
  @benyue char(6)
 )
returns char(10)
as
 begin
  declare @returnvalue char(2)
  declare @yuefen char(2)
  declare @nianfen char(4)

  set @yuefen = right(@benyue, 2)
  set @nianfen = left(@benyue, 4)

  if @yuefen in ('01', '03', '05', '07', '08', '10', '12')
  begin
   set @returnvalue = '31'
  end

  if @yuefen in ('04', '06', '09', '11')
  begin
   set @returnvalue = '30'
  end

  if @yuefen = '02'
  begin
   if ((@nianfen % 4 = 0 and @nianfen % 100 <> 0) or (@nianfen % 400 = 0))
   begin
    set @returnvalue = '29'
   end
   else
   begin
    set @returnvalue = '28'
   end
  end

  return @nianfen + '-' + @yuefen + '-' + @returnvalue
 end


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表