Фильтрация результатов SQL-запросов с использованием статических значений из элемента страницы "Выбор списка" в Oracle APEX 5.0

Я ищу способ фильтрации и отображения записей с использованием статических значений из элемента страницы "Выбор списка". Я создал гистограмму в APEX 5.0, используя следующий запрос:

  select to_char(to_date(time_stamp,'YYYY-MM-DD-HH24:MI:SS'),'YYYY-MM-DD-HH24:MI:SS') as label, col2 as value from table1 where :P5_NEW_1 = col1 ;

Столбец time_stamp table1 имеет тип данных varchar2 в моей базе данных и содержит значения даты в формате YYYY-MM-DD-HH24:MI:SS

Например, значения, как показано ниже, хранятся в time_stamp колонка

2015-08-26-10:17:15
2015-08-26-13:17:15
2015-09-17-12:45:54
2015-09-17-14:12:32
2015-10-06-10:01:42
2015-10-06-11:01:28
2015-10-06-05:01:28

и так далее...

Я добавил в форму элемент "Выбор списка" с именем "интервал", который содержит предварительно заполненный список значений, например 1hr, 6hrs,

Теперь я хочу изменить приведенный выше запрос так, чтобы произошло следующее:

  • Для значения 1hr выбранный из выпадающего списка, запрос должен проверить time_stamp столбец и отображать записи за последний час

    (т.е. записи, которые попадают в диапазон to_char(sysdate - 1/24 ,'YYYY-MM-DD-HH24:MI:SS') to to_char(sysdate ,'YYYY-MM-DD-HH24:MI:SS')

  • И для стоимости 6hrs выбранный из выпадающего списка, запрос должен отображать записи за последние 6 часов.

    (т.е. записи, которые попадают в диапазон to_char(sysdate - 6/24 ,'YYYY-MM-DD-HH24:MI:SS' to to_char(sysdate ,'YYYY-MM-DD-HH24:MI:SS'))

Как изменить запрос SQL, чтобы добавить вышеуказанное условие в текущий запрос SQL, используя статические значения из списка выбора элементов страницы?

1 ответ

Привет, ты можешь попробовать это:

SELECT to_char(to_date(time_stamp,'YYYY-MM-DD-HH24:MI:SS'),'YYYY-MM-DD-HH24:MI:SS') AS label, col2 AS VALUE
FROM table1 
WHERE :P5_NEW_1 = col1 AND
to_date(time_stamp,'yyyy-mm-dd hh24:mi:ss') BETWEEN
       (SYSDATE - (to_number(:SELECT_LIST_ID,'99')/24)) AND SYSDATE;

Просто убедитесь, что статические значения имеют возвращаемое значение, равное hr сам

Например, если статическое значение равно 1HR тогда возвращаемое значение должно быть 1

:SELECT_LIST_ID является идентификатором списка выбора, который содержит статические значения для интервала.

Надеюсь это поможет.

Другие вопросы по тегам