Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Формирование отчета(от и до) / 6 сообщений из 6, страница 1 из 1
16.10.2013, 15:40
    #38429857
alexande26k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование отчета(от и до)
Имеется отчет, формирование происходит по дате(от и до). Устанавливаю даты, например от 15.10.2013 до 16.10.2013 => отчет формируется. Хочу вывести отчет только за 16, т.е. указать от 16.10.2013 до 16.10.2013(без времени) => ничего не выводится. Я так понимаю по умолчанию время равно 00:00:01. Как можно указать в data picker'е по умолчанию время 23:59:59?
...
Рейтинг: 0 / 0
16.10.2013, 16:02
    #38429893
rockclimber
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование отчета(от и до)
alexande26kУстанавливаю даты, например от 15.10.2013 до 16.10.2013 => отчет формируется.Отчет формируется за какие даты? У меня есть подозрение, что сейчас у вас отчет формируется неправильно, а вам нужно в коде отчета вместо
Код: plsql
1.
where report_date between :P_START_DATE and :P_END_DATE

написать
Код: plsql
1.
where report_date between :P_START_DATE and :P_END_DATE + 1
...
Рейтинг: 0 / 0
16.10.2013, 16:05
    #38429898
Хыялый
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование отчета(от и до)
alexande26k,
как понимаю проблема в недопонимании работы с датами и методе хранения дат Ораклом. Вернее если вы выбираете в пикере 16.10.2013 не указывая времени, то Оракл воспронимает это как 16.10.2013 00:00:00. Т.е. у вас получается период с 16.10.2013 00:00:00 по 16.10.2013 00:00:00. Поэтому необходимо добавлять единицу в дате окончания периода и делать выборку с условием меньше этой даты
Код: plsql
1.
WHERE ... XDATE < DATE_END + 1...

Для Оракла 1 в датах равна 1 дню. Тогда у Вас получится с 16.10.2013 00:00:00 до 17.10.2013 00:00:00 не включая 17.10.2013 00:00:00.

P.S. Осмелюсь предположить, что в случае от 15.10.2013 до 16.10.2013 запрос возвращает неправильный результат. Ибо смотрит от 15.10.2013 00:00:00 до 16.10.2013 00:00:00, а Вам надо от 15.10.2013 00:00:00 до 16.10.2013 23:59:59 (или вернее < 17.10.2013 00:00:00)
...
Рейтинг: 0 / 0
16.10.2013, 16:22
    #38429936
alexande26k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование отчета(от и до)
делаю вот такой селект,
пример
Код: plsql
1.
select * from table(apex.apex_test.get_event(:P38_DATE_FROM, :P38_DATE_TO))
...
Рейтинг: 0 / 0
17.10.2013, 10:23
    #38430803
alexande26k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование отчета(от и до)
Даже если так сделать
Код: plsql
1.
2.
select * from table(apex.apex_test.get_event(:P38_DATE_FROM, date_to))
where date_to = :P38_DATE_TO + 1


или так
Код: plsql
1.
select * from table(apex.apex_test.get_event(:P38_DATE_FROM, date_to(:P38_DATE_TO + 1)))


все равно не работает..
...
Рейтинг: 0 / 0
17.10.2013, 11:15
    #38430898
alexande26k
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Формирование отчета(от и до)
сделал. получилось вот так
Код: plsql
1.
select * from table(apex.apex_test.get_event(:P38_DATE_FROM, date_to(:P38_DATE_TO)+1))
...
Рейтинг: 0 / 0
Форумы / Oracle APEX [игнор отключен] [закрыт для гостей] / Формирование отчета(от и до) / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]