В предложении в операторе Select SQL Server 2008 - PullRequest
1 голос
/ 15 марта 2011

У меня есть SQL Server Query:

select *from table1 where column in ('list of values')

Когда я выполняю это, я получаю все детали, однако, когда я делаю это:

select *from table1 where column in ('list of values') and date_of_req='2011-03-15'

Я получаю пустую таблицу.Все заголовки столбцов есть, но без данных.Как это побороть?Я в основном хочу сопоставить все эти значения в предложении IN и дате и отображать только эти данные.

Куда я иду не так?

Ответы [ 3 ]

4 голосов
/ 15 марта 2011

DATETIME, вероятно, тоже имеет временную часть. Кроме того, привыкните использовать не зависящую от языка буквенную форму даты и времени ('YYYYMMDD') Попробуйте:

select *from table1 where column in ('list of values') 
and date_of_req=>'20110315'
and date_of_req < '20110316';
3 голосов
/ 15 марта 2011

Возможно, у вас также есть временная часть.Убедитесь, что вы получаете часть даты из date_of_req.

0 голосов
/ 15 марта 2011

date_of_req также имеют временную часть. Таким образом, вы можете сравнить свою часть даты в столбце с запросом ниже

select * 
from table1 
where column in ('list of values') 
  and CONVERT(VARCHAR(10), date_of_req, 111) = '2011-03-15'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...