SQL - выбор по дате

У меня есть таблица заголовков заказов под названием «OrderH». В этой таблице есть столбец «OrderDate». Я пытаюсь получить заказы с датой в определенном диапазоне. Я думал, что могу выполнить это с ключевым словом «между», но мне не повезло. Это тот SQL, с которым я столкнулся:

select 
    * 
from
    OrderH h
where
        h.OrderDate between '2009-06-16' and '2009-06-01'
order by
    h.OrderDate desc

Что я делаю не так?

tsql,syntax,between,

1

Ответов: 5


8 принят

меньшая дата должна быть первой

between  '2009-06-01' and '2009-06-16'

вместо

between '2009-06-16' and '2009-06-01'

Также будьте осторожны при использовании между ними, потому что вы получите значение полуночи с более крупной даты и ничего больше

Посмотрите, как работать с датами в SQL Server?


1

Запрос не работает, потому что в вашем примере первая дата больше второй. Поменяйте даты. Сначала должно быть меньше, чем вторая дата.


1

Трудно найти даты, которые заканчиваются до их начала. Измените min и max ...

h.OrderDate between '2009-06-01' and '2009-06-16'

0
select 
    * 
from
    OrderH h
where
        h.OrderDate between '2009-06-01' and '2009-06-16'
order by
    h.OrderDate desc

0

В MS-SQL Server события, произошедшие после 2009-06-16 в полночь, не будут включены.

TSQL, синтаксис, между,
Похожие вопросы
Яндекс.Метрика