ОТ: 4/13/2010 12:00:00 AM TO: 4/13/2010
4/13/2010 12:00:00 AM
4/13/2010
SELECT CONVERT(varchar, EventDate, 101) AS EVENTDATE FROM db_Emp.dbo.tbl_EventsTable WHERE (EventDate BETWEEN '2010-04-01' AND '2010-04-30')
Я ожидаю 50 итогов, но результат всего 10.
Что я здесь не так делаю?
Причина в том, что '2010-04-30' на самом деле означает 2010-04-30 00:00
'2010-04-30'
2010-04-30 00:00
Попробуйте это возможно?
SELECT * FROM Table WHERE MONTH(EventDate) = 4 AND YEAR(EventDate) = 2010
Или:
SELECT * FROM Table WHERE EventDate BETWEEN '2010-04-01' AND '2010-04-30 23:59:59.999'
Попробуйте
SELECT CONVERT(varchar, EventDate, 101) AS EVENTDATE FROM db_Emp.dbo.tbl_EventsTable WHERE EventDate >= '2010-04-01' AND EventDate < '2010-05-01'
Если вы пытаетесь узнать все даты событий в апреле 2010 года, вы можете сделать это следующим образом.
SELECT CONVERT(varchar, EventDate, 101) FROM db_Emp.dbo.tbl_EventsTable WHERE EventDate LIKE 'Apr%2010%'