2012-03-21 141 views

回答

0

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

如果你有值试图从数据库中查找,最可持续的方法是创建一个可以调用的函数。如果这不是可行为您的权限/等的结果,你可以看看下面的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星期六。

相关问题