Запрос в SQL, который допускает подстановочный месяц / день, но определенный год - PullRequest
2 голосов
/ 02 октября 2009

Если у меня есть поле «Дата / Время» в Access, и мне нужно найти все записи, относящиеся к определенному году ... скажем, 2009. Если мои поля настроены как MM / DD / YYYY, как мне это сделать? запрос по существу сделать / / 2009

обновление Спасибо всем за помощь, но я думаю, проблема в том, что я как бы динамически создаю свой оператор SQL в ASP.

"SELECT * FROM database WHERE (datecolumn LIKE " & string & ")" 

где строка заканчивается возвращением строки, которую я построил 'DD / MM / YYYY'. Если пользователь ничего не вводит ни в одно из 3 полей, мне нужно будет выполнить специальный запрос, где эта часть является подстановочным знаком ... как если бы они не вставляли в день, мне, по сути, понадобился бы

"SELECT * FROM database WHERE (datecolumn LIKE "*/MM/YY")"

.... который не работает в Microsoft Access

Ответы [ 4 ]

5 голосов
/ 02 октября 2009

Как насчет

WHERE MyDate >= '1/1/2009' AND MyDate < '1/1/2010'
3 голосов
/ 02 октября 2009

Вы должны быть в состоянии использовать функцию Year()

Некоторые примеры:

Year (#05/05/1985#)      returns 1985
Year (#17/07/2005#)      returns 2005

Если ваше поле называется «myDate», например, вы можете создать запрос для выбора всего в 2009 году, например:

SELECT * FROM myTable WHERE Year(myDate) = 2009

Эта функция доступна и в MS Access, и в SQL Server (если вам интересно).

Некоторые ссылки для получения дополнительной информации:

Доступ: функция года
Год Функция
ГОД (Transact-SQL)

0 голосов
/ 02 октября 2009
WHERE Year(DateColumn) = 2009
0 голосов
/ 02 октября 2009

OTTOMH

SELECT * FROM Table WHERE DatePart ("yyyy", YourDatetimeColumn) = 2009
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...