Не получаю запись между двумя датами - PullRequest
0 голосов
/ 11 марта 2012

Я хочу получить строки между 2 датами

Вот запрос:

select 
    distinct Convert(varchar(09), [DateTime], 103)
from 
    StudentAttendance_FK 
where 
    LecturerID = 5033 and 
    CourseID = 1004 and 
    SubjectID = 120 and 
    [DateTime] Between '3/8/2012' and '3/11/2012'

Формат (ММ / ДД / ГГГГ)

Пример значений

3/8/2012 11:40:46 PM
3/8/2012 11:40:46 PM
3/9/2012 11:57:55 AM
3/9/2012 10:48:02 PM
3/10/2012 11:57:20 PM

Запрос не возвращает никаких строк между этими двумя датами. Какие-либо изменения в этом запросе?

спасибо вам

Аджай.

1 Ответ

4 голосов
/ 11 марта 2012

Если вы используете 103 (d/m/y), то почему в предложении where используется m/d/y?Вы используете британские / канадские региональные настройки или нет?Придерживайтесь стандартных, однозначных форматов, таких как yyyymmdd, и вы получите гораздо более предсказуемые результаты.

SELECT DISTINCT CONVERT(DATE, [DateTime]) 
FROM dbo.StudentAttendance_FK
WHERE LecturerID = 5033
AND CourseID = 1004
AND SubjectID = 120
AND [DateTime] >= '20120308' AND [DateTime] < '20120312';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...