首頁 >資料庫 >mysql教程 >计算指定年月的最后一天的自定义MYSQL函数_MySQL

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

WBOY
WBOY原創
2016-06-01 13:56:171177瀏覽

/*
    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

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn