2011-02-08 33 views
0

我有一個包含兩個日期「Start_Date」和「End_Date」的表。在DB2 SQL中,是否有辦法確定這兩個日期之間是否有閏日?使用DB2 SQL確定閏日是否落在兩天之間

謝謝!

+0

什麼版本的DB2以及它在哪個平臺上運行? – 2011-02-08 20:08:32

回答

1

當然,您可以使用某些日期數學和DAYS函數,通過比較開始日期和結束日期之間的天數與開始日期和結束日期之間的天數轉移了1年。

如果兩個日期之間的天數在兩種情況下都是相同的,則不會發生閏日。如果天數不同,那麼至少有一個閏日。

這個表達式將返回的飛躍天數:

select 
    (DAYS(end_date + 1 year) - DAYS(start_date + 1 year)) - 
    (DAYS(end_date)   - DAYS(start_date)) 
from 
    sysibm.sysdummy1 

這應該工作,只要END_DATE> =起始日期。

把它封裝到一個標量用戶定義函數中是微不足道的。

+0

這種方法效果很好!非常感謝你! – Netbrian 2011-02-11 05:49:38

相關問題