Разница в часах между текущим временем в системе и региональным с помощью запроса Oracle SQL
Помогите, пожалуйста, правильно написать SQL запрос для нахождения интервала между временными метками в базе Oracle. Есть таблица с указанием регионального времени в формате hh:mm (только время). Необходимо найти разницу в часах между региональным временем и текущим временем, которое в системе. Пробовал найти решение в интернете, но все решения только с наличием дат в запросах, а здесь указана только временная отметка в формате hh:mm. Также пробовал предварительно склеить временную метку с текущей датой:
SELECT SYSTIMESTAMP as "Текущая дата"
, Время_региона as "Время региона"
,(TO_DATE(SYSDATE + Время_региона) - SYSTIMESTAMP) as "Часовая разница"
FROM Время
, но получаю ошибку в запросе.
Ниже показан скрин, на котором таблица "Время", красным выделен искомый результат.
Ответы (1 шт):
нашел решение вопроса следующим запросом:
SELECT SYSTIMESTAMP as "Текущая дата"
, Время_региона as "Время региона"
, ROUND(
(CAST(TO_TIMESTAMP( TO_CHAR(SYSDATE) || ' ' || Время_региона || ':00', 'dd.mm.yyyy hh24:mi:ss' ) AS DATE)
- CAST( SYSTIMESTAMP AS DATE) + 730487)
* 24
) as "Часовая разница"
FROM Время
только пришлось прописать константу 730487 (дней), не смог найти объяснение этой константе.
