2014-11-17 2 views
0
года

В классический ASP:Использование DATEPART в SQL заявление, чтобы получить записи с определенной

я могу извлечь год от поля даты/времени:

tester=rs.fields("datestamp") 
tester=DATEPART("yyyy",tester) 

Но я не могу показаться, чтобы выяснить, как сделать эту работу в SQL заявление, чтобы привести все записи из определенного года:

Select * from table1 where DATEPART("yyyy",datestamp)='2012' 

и это не работает, либо:

Select * from table1 where DATEPART("yyyy",datestamp)=2012 

Я просмотрел миллионы примеров, здесь и в другом месте, и, похоже, не могу найти тот, который сделает эту работу. Что я делаю не так?

+0

Каков тип столбца 'datestamp'? – haim770

+0

datestamp - тип данных даты/времени в базе данных доступа ... – algomeysa2

+0

ну, друг указал, что это похоже на это: Выберите * из таблицы1 WHERE year (datestamp) = 2012 Хотя мне все еще интересно, что синтаксис был бы с DATEPART – algomeysa2

ответ

0

Функция DatePart может извлекать из любой даты некоторые значения. Лучшее объяснение, которое я знаю здесь: W3School.com

И эта команда может использоваться как часть строки SQL так, как вы хотите, но в этом случае вы должны думать, что основной параметр изменяется. Образец для фильтра по месяцам за меньшее, что в июне:

DATEPART(month, yourvar_withdate) <= 6 

Проверить это объяснение: W3School.com-SQL

Конечно, что вам нужно использовать номер без кавычек для Eval. Вы можете проверить «yy» или год (без кавычек) для проверки.

Еще одно замечание: вы должны всегда иметь содержимое поля DateStamp или получать сообщение об ошибке.