/************************************************
**        펑션     : 윤년 여부
**        개발일자 : 2010.10.20
**        개발자명 :

SELECT [dbo].[UFUN_WWW_LEAP_YEAR](2004)
*************************************************/
CREATE FUNCTION [dbo].[UFUN_WWW_LEAP_YEAR](@in_YEAR INT) --년도
RETURNS CHAR(1)
AS
BEGIN

  DECLARE @str_Return CHAR(1)
  DECLARE @str_TargetDate varchar(10)
  DECLARE @FEBRUARY_MONTH_LASTDAY VARCHAR(2)  
  
  SET @str_TargetDate = CONVERT(VARCHAR, @in_YEAR) + '0201'
  SET @str_Return = 'N'
  
  DECLARE @TargetDate DATETIME 
   SET @TargetDate = DATEADD(MONTH,1,CONVERT(SMALLDATETIME, @str_TargetDate, 120)) -
                   DAY(CONVERT(SMALLDATETIME, @str_TargetDate, 120)) 
   
  SET @str_TargetDate = CONVERT(VARCHAR, @TargetDate, 112)
  SET @FEBRUARY_MONTH_LASTDAY = SUBSTRING(@str_TargetDate, 7,8)
  
  IF(@FEBRUARY_MONTH_LASTDAY = '29')
   SET @str_Return = 'Y'
  ELSE
   SET @str_Return = 'N'
  
 

  RETURN(@str_Return)

END

 

 

 

-다른공식----------------------------------------


declare @in_YEAR int
declare @str_Return char(1)
set @in_YEAR = 2008

IF(@in_YEAR % 4 =0 AND @in_YEAR % 100 <> 0) or @in_YEAR % 400 = 0
 SET @str_Return = 'Y'
else
 SET @str_Return = 'N'
  
select @str_Return

+ Recent posts