Разница в часах между текущим временем в системе и региональным с помощью запроса Oracle SQL

Помогите, пожалуйста, правильно написать SQL запрос для нахождения интервала между временными метками в базе Oracle. Есть таблица с указанием регионального времени в формате hh:mm (только время). Необходимо найти разницу в часах между региональным временем и текущим временем, которое в системе. Пробовал найти решение в интернете, но все решения только с наличием дат в запросах, а здесь указана только временная отметка в формате hh:mm. Также пробовал предварительно склеить временную метку с текущей датой:

SELECT SYSTIMESTAMP as "Текущая дата"
    , Время_региона as "Время региона"
    ,(TO_DATE(SYSDATE + Время_региона)  - SYSTIMESTAMP) as "Часовая разница"
FROM Время

, но получаю ошибку в запросе.

Ниже показан скрин, на котором таблица "Время", красным выделен искомый результат.

Таблица Время.


Ответы (1 шт):

Автор решения: Anatoly

нашел решение вопроса следующим запросом:

    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 (дней), не смог найти объяснение этой константе.

→ Ссылка