Мне нужно указать даты между двумя интервалами дат.Разница между и <= & > =
Я Пытался два запроса, как показано ниже
SELECT * FROM [dbo].[BudgetOffice] BUD
where Week BETWEEN '2015-08-03' AND '2015-08-03'.
SELECT * FROM [dbo].[BudgetOffice] BUD
where Week >= '2015-08-03' AND Week <= '2015-08-03'.
Оба Возвращения же результаты. Я думал, что
between
будет возвращать только значение лежит между входными значениями и исключить входные значения. Это верно?. Если обе те же, что и другие, возможны с производительностью.?
[между] (https://msdn.microsoft.com/en-us/library/ms187922.aspx) - * BETWEEN возвращает TRUE, если значение test_expression больше или равно значению begin_expression и меньше или равно значению end_expression. * Что касается производительности, вы можете проверить план выполнения, и вы обнаружите, что оба дают один и тот же план выполнения. – ughai
Есть некоторые проблемы, связанные с использованием оператора с датой, Аарон Бертран объяснил это в своей статье ['Что у BETWEEN и дьявола есть вместе?'] (Http://sqlblog.com/blogs/aaron_bertrand/archive/ 2011/10/19/what-do-between-and-the-devil-have-in-common.aspx) определенно стоит прочитать. –
@ M.Ali Итак, я предполагаю, что переоценил навык среднего программиста в datetime, когда предположил, что генерация отчетов на ежемесячной основе будет использовать sth. например, 'SELECT * FROM data GROUP BY YEAR (datetime), MONTH (datetime)' ... – Alexander