在db2中计算两个日期之间的星期日的数量

问题描述:

我的代码中有两个日期..date 1和date2。 我想计算上述日期之间的星期日数, 我正在使用IBM DB2。在db2中计算两个日期之间的星期日的数量

在此先感谢。

+0

曾经使用Google? http://bit.ly/GCpgVB – 2012-03-21 07:08:59

我不确定你的代码是什么意思。

如果你有值试图从数据库中查找,最可持续的方法是创建一个可以调用的函数。如果这不是可行为您的权限/等的结果,你可以看看下面的SQL:

WITH DATE_EXAMPLES (DATE_1, DATE_2) AS (
    VALUES (TIMESTAMP('2012-03-04 01:01:01'),TIMESTAMP('2012-03-25 01:01:01')) 
) 
SELECT DATE_EXAMPLES.*, 
    CASE WHEN DAYOFWEEK(DATE_2) < DAYOFWEEK(DATE_1) 
      THEN ((DAYS(DATE_2) - DAYS(DATE_1))/7) + 1 
      ELSE ((DAYS(DATE_2) - DAYS(DATE_1))/7) 
    END SUNDAYS_BETWEEN   
FROM DATE_EXAMPLES 

*请注意:DAYOFWEEK调用将返回一个数字range of 1-7,其中1日和7星期六。