Проблема в получении записей путем предоставления от и до даты - PullRequest
0 голосов
/ 08 февраля 2010

У меня проблема с получением записей по дате и дате. Я хочу получить запись для даты 08 февраля 2010 года, и я должен использовать поля даты «До» и «От». Я попробовал:

select * from dbo.BuzzMaster
where date >=  '2/7/2010'
  and date <=  '2/8/2010'

Выход:

Not able to retrieve records for date '2/8/2010' 

Я получаю запись на дату '2/2/2010', только если я дам:

select * from dbo.BuzzMaster
where date >=  '2/7/2010'
  and date <=  '2/9/2010'

(или)

select * from dbo.BuzzMaster
where date >=  '2/8/2010'
  and date <=  '2/9/2010'

Так как мне это сделать, выбрав дату 2/7/2010 и '2/2/2010'?

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

Нэвин

Ответы [ 3 ]

4 голосов
/ 08 февраля 2010

Есть ли в этих датах также временная часть? Если они есть, вы можете получить записи за 2/8 следующим образом:

WHERE Date >= '2/8/2010' AND Date < '2/9/2010'

Это потому, что '8/2/2010 12:34'> '8/2/2010'.

(Другое дело, что я предпочитаю писать даты в формате 'yyyy-mm-dd' в TSQL, который не учитывает культуру.)

1 голос
/ 08 февраля 2010

использовать из этого запроса:

select * from dbo.BuzzMaster
where date between '2/7/2010' and '2/8/2010'
0 голосов
/ 08 февраля 2010

Если дата содержит часть времени, то вы можете получить требуемый результат, введя следующий TSQL

select * from dbo.BuzzMaster 
where DATEADD(dd, 0, DATEDIFF(dd, 0, date))>=  '2/7/2010' 
  and DATEADD(dd, 0, DATEDIFF(dd, 0, date))<=  '2/8/2010' 

Это извлечет часть даты из вашей даты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...