Как динамически генерировать оракуловый запрос для получения данных за выбранный промежуток времени - PullRequest
0 голосов
/ 10 мая 2018

У меня есть таблица, содержащая столбцы id, Datum, Value Дата имеет тип даты. В этой таблице у меня есть значения для каждых 15 минут.

Теперь я создаю отчет, в котором Пользователь выбирает интервал времени, например, 15 минут 30 минут 1 час 1 день Как динамически генерировать запрос оракула для получения данных за выбранный интервал времени.

1 Ответ

0 голосов
/ 10 мая 2018

Вы можете использовать функцию NUMTODSINTERVAL для указания интервала. Например, если вы хотите получить все до 15 минут назад:

SELECT *
FROM   your_table
WHERE  DATUM >= SYSDATE - NUMTODSINTERVAL( 15, 'MINUTE' )

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

SELECT *
FROM   your_table
WHERE  DATUM BETWEEN SYSDATE - NUMTODSINTERVAL( 15, 'MINUTE' )
                 AND SYSDATE

Вы можете изменить его так, чтобы в качестве параметров связывания принимать сумму и единицы измерения интервала, которые вы можете передать в свой запрос:

SELECT *
FROM   your_table
WHERE  DATUM >= SYSDATE - NUMTODSINTERVAL( :amount, :units )

Где:

  • :amount - число; и
  • :units является одной из строк: SECOND, MINUTE, HOUR или DAY
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...