2011-07-11 101 views
1

請考慮我的日期爲29/03/2011。 我想在此日期後的一天,五天和十天查詢記錄。查詢日期與指定日期的偏移量的記錄

假設樣本字段爲F1,F2,F3;

我的代碼是這樣

SELECT F1,F2,F3 FROM T1 WHERE T1.Date = ... 

我使用MS Access 2007年,我無法理解如何查詢,它是具有偏移的日期。

我已經修改並試驗了DateAdd(),但給我一個錯誤。 想有解決辦法。

Soham

回答

1

在Access中,您可以使用:

SELECT F1,F2,F3 
FROM T1 
WHERE T1.Date >= #2011-07-11# + 10 

爲了證明這是10天,後來某一日期的所有記錄。

或這顯示所有記錄與正好從某日起10日內:

SELECT F1,F2,F3 
FROM T1 
WHERE T1.Date = #2011-07-11# + 10 

有一個巨大的問題,但如果你的日期有一部分時間!以上不會在date = #2011-07-11 11:43#的地方抓到記錄。它將僅匹配具有時間部分00:00:00的記錄。所以它相當於:

SELECT F1,F2,F3 
FROM T1 
WHERE T1.Date = #2011-07-21 00:00:00# 

這可能不是你想要的。這是最好使用這樣的:

SELECT F1,F2,F3 
FROM T1 
WHERE DateValue(T1.Date) = #2011-07-11# + 10 

或此,可以在Date領域使用索引,所以這是最好的辦法:

SELECT F1,F2,F3 
FROM T1 
WHERE T1.Date >= #2011-07-11# + 10 
    AND T1.Date < #2011-07-11# + 11 
+0

雖然我沒有需要之後開始日期的記錄10天,但這個解決方案完美地解決了這個問題。非常感謝 – Soham

+0

@索姆:看到我的編輯細節,可能會給你錯誤後,很難趕上。 –

+1

最後一個更好,因爲它會使用索引。 –