Как преобразовать число в ИНТЕРВАЛ из минут? - PullRequest
9 голосов
/ 22 августа 2011

В псевдо-Oracle, я хочу сделать следующее:

select systimestamp + to_interval(select NUMERIC_COLUMN from SOME_TABLE where SOME_TABLE_PK = :stuff) from dual;

Если бы количество минут всегда было одинаковым, я мог бы использовать литерал интервала а-ля interval '360' minute, но я не могу найти простую функцию для преобразования числа в интервал MINUTE. Чего мне не хватает?

1 Ответ

17 голосов
/ 22 августа 2011

Вы можете использовать функцию numtodsinterval , которая выполняет именно то преобразование, которое вам нужно (число в интервал):

SQL> select systimestamp, systimestamp + numtodsinterval(20, 'MINUTE') from dual;

SYSTIMESTAMP              SYSTIMESTAMP+NUMTODSINTERVAL(2
------------------------- -------------------------------
2011-08-22 16:12:24.060   2011-08-22 16:32:24.060
...