Отформатируйте числовой столбец Эдвардса как HH24: MI: SS - PullRequest
1 голос
/ 13 мая 2019

У меня есть столбец таблицы JD Edwards со следующим значением 170443, которое представляет время.Я хочу отформатировать его как HH: MI: SS, но я получаю сообщение об ошибке. ORA-01850: час должен быть в диапазоне от 0 до 23. Какие изменения мне нужно применить к следующему коду, чтобы вывод отображался как 17:04:43?

SELECT CASE WHEN LVUPMT= 0 THEN NULL 
  ELSE
    TO_TIMESTAMP(substr(LVUPMT,1,2) ||':'||substr(LVUPMT,3,2) ||':'||substr(LVUPMT,5,2), 'HH24:MI:SS')
  END AS DDATE 
FROM PRODDTA.F07620 WHERE LVAN8 = 102366;

1 Ответ

0 голосов
/ 13 мая 2019

Приведите его к дате, используя маску, которая соответствует формату ваших данных, затем приведите его к tsring, чтобы получить нужный формат:

SELECT CASE WHEN LVUPMT= 0 THEN NULL 
  ELSE
    to_char( to_date(LVUPMT, 'HH24MISS'), 'HH24:MI:SS')
  END AS DDATE 
FROM PRODDTA.F07620 WHERE LVAN8 = 102366;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...