2016-01-12 5 views
1

Я не понимаю, почему, но почему-то этот запрос не работает. Я хочу принять системную дату -1 день, когда sysdate меньше на 1 день, а затем на текущую дату.Getdate(), -1 день

WHERE 
    a.SEND_Date >= dateadd(DD,-1,(CAST(getdate() as date) as datetime)) 
+0

положить образец данных – simsim

+1

Что значит «не работает " выглядит как? –

+0

Вам действительно нужен 'CAST'? – wilx

ответ

4

CAST зависит от типа даты, в которой вы нуждаетесь. Если вам нужно только сравнить даты можно использовать только:

dateadd(DD, -1, cast(getdate() as date)) 

Если вам нужно сравнить со временем даты вы можете использовать:

dateadd(DD,-1,getdate()) 

Это Виль дать вам даты и времени, как это: 2016-01-11 10:43:57.443

0

Проверенный ответ все еще имеет время (00:00:00), в моей версии так или иначе. Чтобы получить DATE использовать только: Выберите Преобразовать (дата, DATEADD (день, -1, GetDate()))

Оба имеют одинаковый вес, 0.001 секунд

Смежные вопросы