Здравствуйте,имеется таблица (table) в БД с 4-мя полями id, дата, время, событие
подскажите пожалуйста каким запросом можно выбрать все данные за определённый промежуток времени скажем за полтора года? Т.е. нужна выборка с 2005-01-01 16:10 до 2006-10-25 08:20.
>Здравствуйте,
>
>имеется таблица (table) в БД с 4-мя полями id, дата, время, событие
>
>подскажите пожалуйста каким запросом можно выбрать все данные за определённый промежуток времени
>скажем за полтора года? Т.е. нужна выборка с 2005-01-01 16:10 до
>2006-10-25 08:20.
SELECT
>имеется таблица (table) в БД с 4-мя полями id, дата, время, событие
>
>подскажите пожалуйста каким запросом можно выбрать все данные за определённый промежуток времени
>скажем за полтора года? Т.е. нужна выборка с 2005-01-01 16:10 до
>2006-10-25 08:20.А в чем собственно вопрос?
select ... from tablename where date >= '2005-01-01 16:10:00' and date <= '2006-10-25 08:20:00'
>>имеется таблица (table) в БД с 4-мя полями id, дата, время, событие
>>
>>подскажите пожалуйста каким запросом можно выбрать все данные за определённый промежуток времени
>>скажем за полтора года? Т.е. нужна выборка с 2005-01-01 16:10 до
>>2006-10-25 08:20.
>
>А в чем собственно вопрос?
>select ... from tablename where date >= '2005-01-01 16:10:00' and date <= '2006-10-25 08:20:00'Нее так не пойдёт, поля даты и времени разные, в дате нет времени во времени нет даты. И Ваш запрос вернёт пустоту. Если же использовать запрос типа
select id from nmslog where date > '2005-01-01' and date < '2006-10-25' and time > '16:00' and time < '08:20';
то выборка будет в указанный период дней и из всех этих дней будет выбрано только указанное в запросе время. А нужно что бы время затронуло первый и последний день из указанного диапазона дней
>>>имеется таблица (table) в БД с 4-мя полями id, дата, время, событие
>>>
>>>подскажите пожалуйста каким запросом можно выбрать все данные за определённый промежуток времени
>>>скажем за полтора года? Т.е. нужна выборка с 2005-01-01 16:10 до
>>>2006-10-25 08:20.
>>
>>А в чем собственно вопрос?
>>select ... from tablename where date >= '2005-01-01 16:10:00' and date <= '2006-10-25 08:20:00'
>
>Нее так не пойдёт, поля даты и времени разные, в дате нет
>времени во времени нет даты. И Ваш запрос вернёт пустоту. Если
>же использовать запрос типа
>select id from nmslog where date > '2005-01-01' and date < '2006-10-25' and time > '16:00' and time < '08:20';
>то выборка будет в указанный период дней и из всех этих дней
>будет выбрано только указанное в запросе время. А нужно что бы
>время затронуло первый и последний день из указанного диапазона дней
where (date > d1 or (date = d1 and time >= t1)
and (date < d2 or (date = d2 and time <= t2))
здОрово, спасибо огромное, работает. А то пришлось бы делать три отдельныз запроса