Запрос даты и времени в SQL без времени - PullRequest
6 голосов
/ 09 марта 2011

Я пытаюсь написать запрос SQL, который должен просто выбрать счет с определенной датой, а не временем.

select count(*) from xyz where time='2010-01-21'

, но он не возвращает никаких результатов.

Ответы [ 3 ]

7 голосов
/ 09 марта 2011

Для SQL Server 2008 вы должны иметь возможность использовать тип данных date :

select count(*) from xyz where cast(time as date) = '2010-01-21'
4 голосов
/ 09 марта 2011

Если у вас есть поле даты и времени, и вы хотите сопоставить дату:

select count(*) from xyz where time BETWEEN '2010-01-21' AND '2010-01-22 '

MYSQL Date Time ref

1 голос
/ 09 марта 2011

Try (MySQL)

SELECT COUNT(*) FROM xyz WHERE DATE(datetime_col) = '2010-01-21'

в T-SQL (MSSQL) (некрасиво, но должно работать):

SELECT * FROM xyz WHERE CAST(CONVERT(varchar(8), datetime_col, 112) AS DATETIME) <= '2011-01-21'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...