| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Oracle > ДатаВремя |
| Автор: Petro123 20.4.2007, 18:56 |
| Одно из полей таблицы ДатаВременное, Нужно организовать выборку записей в которую бы попали скажем все от 10 января до 20 января и временем с 10:00 до 12:00 (11 января 9:00 не подходит!) ... where (table.printtime between to_date('20070110','YYYYMMDD') and to_date('20070121','YYYYMMDD')) and (table.printtime between to_date('1000',hh24mi') and to_date('1200','hh24mi')) - Результат 0 записей. Не могу понять почему. Кто нибудь помогите пожалуйста разобраться! |
| Автор: LSD 20.4.2007, 21:44 | ||
Попробуй так:
|
| Автор: Petro123 21.4.2007, 07:05 |
| Вы меня не поняли, ваш запрос выберет линию времени между двумя датами! Нужно сначала отрезать дату, затем уже отрезать время. Например с 10 до 20 января время с 10 до 12 часов, остальное время не брать! Добавлено через 8 минут и 21 секунду Как вариант переведем время в минуты, и ... where (table.printtime between to_date('20070110','YYYYMMDD') and to_date('20070121','YYYYMMDD')) and (to_char(ch.printtime,'hh24')*60+to_char(ch.printtime,'mi') between 10*60+0 and 12*60+0)) ... Меня все же интересовало почему table.printtime between to_date('1000',hh24mi') and to_date('1200','hh24mi')) не работало! |