2010-01-04 3 views
4

Я надеюсь, что любой может перевести мой абстрактный запрос.sql сравнить datetime today

Я хочу выбрать * из таблицы, где ([MYDATETIMEROW] < (СЕГОДНЯ - 3 дня)).

Должен ли я преобразовывать, отличать или использовать дату или что-то еще? .. im confused.

Существуют ли простые правила? У меня не было бы проблем сделать это с linq, но простой sql я узнал едва ли.

Благодарим вас и с наилучшими пожеланиями.

ответ

7

Проще говоря:

Select * from Table where MyDateTimeRow < dateadd(dd,-3,getdate()) 

Но использование GetDate() обеспечит и дату и время, опыт говорит, что это вряд ли будет именно то, что вы хотите - вам может понадобиться сократить время и просто рассмотреть дату.

Select * From Table where MyDateTimeRow < dateadd(dd, datediff(dd, 0, getdate()) - 3, 0) 
+0

THX это сработало. –

2

Вы хотите функция DateAdd манипулировать даты и функцию GetDate, чтобы получить текущую дату:

SELECT * FROM MyTable WHERE [MyDateTimeRow] < DateAdd(dd, -3, GetDate()) 
Смежные вопросы