2016-05-30 3 views
-3

У меня есть столбец типа DateTime, и нам нужно выполнить запрос на него, чтобы оглянуться назад в течение двух лет,даты SQL фильтр время автоматического

поэтому мне нужно автоматизировать:

where Appt_DateTime > '20140530' per the current date. 

where Appt_DateTime > CURRENT_TIMESTAMP - 2 YEARS 

последний дает ошибку Msg 102, Level 15, State 1, Line 18 Неверный синтаксис около 'YEARS'.

+0

Просьба указать используемый аромат SQL. Для этого нет стандартной функции ANSI SQL. Но в TSQL, например, вы можете использовать 'where Appt_DateTime> DATEADD (year, -2, CURRENT_TIMESTAMP)'. MySQL, PostgreSQL, Oracle, DB2 ... у всех есть способ сделать подобное, но синтаксис отличается. –

+0

sql server 2008R2 –

+0

Тогда вышеупомянутый фрагмент SQL должен работать. –

ответ

0

Попробуйте DATEADD (YY, -2, GetDate())

... Where Appt_DateTime >=DateAdd(YY,-2,GetDate()) 

или

... Where Appt_DateTime >=cast(DateAdd(YY,-2,GetDate()) as date)