2015-09-29 6 views
0

В этом запросе SQL Server я пытаюсь сравнить две функции даты. Я позаботился о том, что оба имеют одинаковый формат (dd/mm/yy), и код работает нормально, но мой вопрос заключается в том, как я могу сравнить ApptStartDateTime с @AppDate?SQL Server: сравнение дат

Если я использую только знак = вместо >=, код не работает. Я просто хочу найти его для этого конкретного дня, а не после @AppDate.

Заранее спасибо.

WHERE A.ApptStartDateTime >= CONVERT(SMALLDATETIME, CONVERT(VARCHAR(10), @AppDate, 103), 103) 

ответ

1

Вы проверяете равенство с '='.

Я предполагаю, что ваш A.ApptStartDateTime не совсем то же самое, что и ваша конвертированная дата. Убедитесь, что у вас действительно одинаковые даты в том же формате, т. Е. Часы/минуты/секунды не учитываются.

0

Это была очень глупая ошибка, получившаяся в конце. Хотя я преобразовал ApptStartDateTime в формат dd/mm/yyyy, я не использовал одно и то же преобразование, сравнивая два значения.

Результат должен быть:

WHERE CONVERT(SMALLDATETIME,CONVERT(VARCHAR(10),A.ApptStartDateTime,103),103) = CONVERT(SMALLDATETIME,CONVERT(VARCHAR(10),@AppDate,103),103) 
Смежные вопросы