2017-01-30 56 views
0

我需要根據日期之一是否爲空來計算兩個日期字段之間的天數。如果日期變量爲空,我需要包含今天的日期。請幫忙。 SAS用戶嘗試爲Access 2010數據庫中的其他用戶設置查詢。我在尋找SQL語言插入我的查詢。非常感謝!If-then Statement內的日期計算

ex。

if dbo.nameoftable[date1] <> " " then time = [date1] - [date2] 
elseif dbo.nameoftable[date1] = " " then time = ?todays date - [date2]endif; 

謝謝!

+0

目前還不清楚你問什麼。你沒有標記一種語言,雖然你說「請幫助SQL」,但這看起來不像SQL。或者如果是這樣,目前還不清楚你使用的是哪種SQL。請閱讀[我如何問一個好問題?](http://stackoverflow.com/help/how-to-ask)然後回到這裏並編輯您的問題,以便我們可以幫助您。謝謝。 –

+0

嗨馬特,我爲任何困惑道歉。我是一位熟練的SAS用戶,他被要求爲其他人在Access中創建查詢。我正在尋求語言方面的幫助來在Access中創建if-then語句。當我在訪問時,我看到你可以看看底層的SQL語言。我正在使用Access 2010。 – Kathy

回答

0

你不需要if-then邏輯。只需使用Nz函數,該函數允許您指定一個值,以便在該字段爲空時使用。

此外,您應該使用DateDiff而不是-明確您正在使用的單位。

對於當前日期,使用Date函數。請注意,這將返回查詢執行的計算機的本地時區中的當天。

全部放在一起:

SELECT DateDiff('d', [date2], Nz([date1], Date())) AS [DifferenceInDays] FROM nameoftable;