#sql #oracle
Запрос
select LTRIM(RUN_DURATION )
from SYS.USER_SCHEDULER_JOB_RUN_DETAILS
WHERE LOG_ID = 218737;
возвращает:+000 00:01:27.
Мне нужны только секунды т.е. от 0 до 59 - два последних символа
Сам догадался только до TRIM
select LTRIM(RUN_DURATION , '+000 00:00'))
from SYS.USER_SCHEDULER_JOB_RUN_DETAILS
WHERE LOG_ID = 218737;
Но значение минут может быть разное и данный вариант мне не подходит.
Как отформатировать вывод до двух знаков справа?
Ответы
Ответ 1
select SUBSTR(RUN_DURATION,12) from SYS.USER_SCHEDULER_JOB_RUN_DETAILS ... Берем символы начиная с 12. Если надо вырезать из середины, то третьим параметром substr можно задавать длину.Ответ 2
Думаю, правильнее было бы не обрезать, а воспользоваться extract'ором: select extract(second from run_duration) from SYS.DBA_SCHEDULER_JOB_RUN_DETAILS;
Комментариев нет:
Отправить комментарий