#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;
Комментариев нет:
Отправить комментарий