Фильтрация результатов 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
является идентификатором списка выбора, который содержит статические значения для интервала.
Надеюсь это поможет.