Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запрос периода времени в datetime  [new]
Scend
Member

Откуда:
Сообщений: 298
Помогите как организовать запрос:
Есть колонка формата datetime, в ней содержатся данные
2011-07-20 05:00:00.000
2011-07-20 05:30:00.000
...
2011-07-20 15:45:00.000
...
2011-07-21 02:00:00.000
2011-07-21 03:15:00.000
нужно выбрать записи допустим с 2011-07-20 05:30:00.000 по 2011-07-21 02:00:00.000, но, чтобы в запросе не фигурировал формат даты, а было только время в формате HH:mm:
start BETWEEN '05:30' AND '02:00'
Такой вот запрос не проходит ...
21 июл 11, 16:35    [11008038]     Ответить | Цитировать Сообщить модератору
 Re: Запрос периода времени в datetime  [new]
Glory
Member

Откуда:
Сообщений: 104751
Scend
[/SRC]нужно выбрать записи допустим с 2011-07-20 05:30:00.000 по 2011-07-21 02:00:00.000, но, чтобы в запросе не фигурировал формат даты, а было только время в формате HH:mm:
start BETWEEN '05:30' AND '02:00'
Такой вот запрос не проходит ...

5-30 и 2-00 есть каждый день
Как сервер поймет, что это с 2011-07-20 по 2011-07-21, если ему это не указать ?
21 июл 11, 16:37    [11008065]     Ответить | Цитировать Сообщить модератору
 Re: Запрос периода времени в datetime  [new]
Scend
Member

Откуда:
Сообщений: 298
Glory
5-30 и 2-00 есть каждый день
Как сервер поймет, что это с 2011-07-20 по 2011-07-21, если ему это не указать ?

Для это есть другая колонка, в которой для всего этого диапазона времени стоит дата 2011-07-20.
т.е. я сначала выбираю дату:
date BETWEEN '2011-07-20' AND '2011-07-20'
и вот теперь нужно выбрать время ...
21 июл 11, 16:45    [11008120]     Ответить | Цитировать Сообщить модератору
 Re: Запрос периода времени в datetime  [new]
Glory
Member

Откуда:
Сообщений: 104751
Scend
и вот теперь нужно выбрать время ...

Тип данных time появился только в sql2008
21 июл 11, 16:48    [11008158]     Ответить | Цитировать Сообщить модератору
 Re: Запрос периода времени в datetime  [new]
Scend
Member

Откуда:
Сообщений: 298
Glory,

т.е. в sql2005 это никак не сделать?
21 июл 11, 16:49    [11008170]     Ответить | Цитировать Сообщить модератору
 Re: Запрос периода времени в datetime  [new]
Glory
Member

Откуда:
Сообщений: 104751
Scend
Glory,

т.е. в sql2005 это никак не сделать?

Так как вы хотите - никак
Придется самому извлекать время из даты
21 июл 11, 16:52    [11008189]     Ответить | Цитировать Сообщить модератору
 Re: Запрос периода времени в datetime  [new]
Scend
Member

Откуда:
Сообщений: 298
Ну, может быть не так явно, как
start BETWEEN '05:30' AND '02:00'
но, чтобы часть, отвечающая за дату не принимала участие.

а в sql2008 такой бы запрос прошел?
start BETWEEN '05:30' AND '02:00'
21 июл 11, 16:58    [11008245]     Ответить | Цитировать Сообщить модератору
 Re: Запрос периода времени в datetime  [new]
Glory
Member

Откуда:
Сообщений: 104751
Scend
а в sql2008 такой бы запрос прошел?
start BETWEEN '05:30' AND '02:00'

Запрос то прошел бы ? Но как вы себе представляете логическое выражение "больше 5ти но меньше 2х" ?
Какое число попадает в такой диапазон ?
21 июл 11, 17:02    [11008270]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить