Запрос записей на дату со смещением от заданной даты - PullRequest
1 голос
/ 11 июля 2011

Считай, у меня дата 29.03.2011. Я хочу запросить записи за один, пять и десять дней после этой даты.

Скажем, выборочные поля: F1, F2, F3;

Мой код выглядит так

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

Я использую MS Access 2007 и не могу понять, как запросить дату, которая имеет смещение.

Я возился с DateAdd () и экспериментировал с ним, но выдает ошибку. Хотел бы иметь решение.

Soham

1 Ответ

1 голос
/ 11 июля 2011

В 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...