程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> 應用技巧:如何確定閏年的函數

應用技巧:如何確定閏年的函數

編輯:關於SqlServer

  是的,要確定某一年是否是閏年是有一些方法的。舉例來說,與現在流行想法相反的,不是所有能夠被4整除的年份都是閏年。例如,1900年就不是閏年。不過你不需要煩惱於閏年的規則。你可以讓SQL Server引擎來做這個工作!

  下面的函數輸入一個年份會返回位比特標識來顯示輸入的年份是否是閏年。

      create function dbo.fn_IsLeapYear (@year int)
  returns bit

  as

  begin

  return(select case datepart(mm, dateadd(dd, 1, cast((cast(@year as varchar(4)) + '0228') as datetime)))

  when 2 then 1

  else 0

  end)

  end

  go
 
  這是全部的代碼!這個函數輸入參數為年份,對它附加上“0228”(代表2月28日)並增加一天。如果第二天的月份是一個2(DATEPART函數所提取的),那麼我們就是還在2月份,所以它肯定是一個閏年!如果不是,那麼它就不是閏年。
  下面是一些示例:

      select dbo.fn_IsLeapYear(1900) as 'IsLeapYear?'
  select dbo.fn_IsLeapYear(2000) as 'IsLeapYear?'

  select dbo.fn_IsLeapYear(2007) as 'IsLeapYear?'

  select dbo.fn_IsLeapYear(2008) as 'IsLeapYear?'


  
圖1

  正如你所看到的,有時你可以利用SQL Server引擎來為你做些麻煩的工作!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved