Также обратите внимание на безопасный формат даты ISO (ГГГГММДД), который не взорвется, например, если вы находитесь в Великобритании
SELECT * FROM Orders WHERE [DateOrdered] >='20100601'
AND [DateOrdered] < '20100602'
Этот способ также позволит вам использовать индекс, если вы приведете столбец DateOrdered, индекс не будет использоваться
Вот пример того, что происходит, когда вы используете YYYY-MM-DD вместо YYYYMMDD
SET LANGUAGE 'us_english'
SELECT CONVERT(DATETIME, '2006-04-06'), --will be YMD
CONVERT(DATETIME, '20060406') --safe format
SET LANGUAGE 'Italian'
SELECT CONVERT(DATETIME, '2006-04-06'), --will be YDM
CONVERT(DATETIME, '20060406') -- safe format