2014-10-16 189 views
1

MS ACCESS(Jet-SQL)計算平均天數(使用DateDiff和NULL)

我想查找兩個日期之間的平均差異,以天爲單位。但是,一個日期包含我想從計算中排除的NULL值。請注意我不能使用WHERE函數,因爲我實際上在我的SELECT語句(此處未顯示)中有其他聚合計算,我不想過濾它們。

我最後一次嘗試:

SELECT 
     Avg(Iif(dateDischarge IS NOT NULL, DateDiff('d',DateValue(dateRandomisation),(DateValue(dateDischarge))),NULL)) AS dtdis_dtrand 

    FROM Table 
    GROUP BY Variable 

感謝您的幫助,

羅布

回答

0

要從你需要從AVG()排除行作爲目前0具有影響的計算中排除。

排除它們從SELECT

... FROM Table WHERE dateDischarge IS NOT NULL 
+0

感謝您的答覆亞歷克斯。爲了簡單起見,我從上面的示例中刪除了其他SELECT語句。我其實不希望從其他聚合函數中排除任何情況,因此WHERE函數在這種情況下將無益。 – 2014-10-16 13:02:38

+0

嘗試在IIF中使用NULL而不是0嗎? – 2014-10-16 13:10:55

+0

相同的錯誤信息:「標準表達式中的數據類型不匹配」...我知道DateDiff語句在非分組查詢中正常工作,並且這會在行中產生#ERROR,其中dateDischarge = NULL – 2014-10-16 13:28:34