使用DB2 SQL确定闰日是否介于两天之间

时间:2011-02-08 16:24:34

标签: sql db2

我有一个包含两个日期的表,“Start_Date”和“End_Date”。在DB2 SQL中,有没有办法确定闰日是否介于这两个日期之间?

谢谢!

1 个答案:

答案 0 :(得分: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> = start_date一样长。

将此封装到标量用户定义函数中是微不足道的。