интервал между проблемой systimestamp (оракул)
У меня процедура ТТТ.
v_start_date TIMESTAMP;
v_delta_interval interval day to second;
begin
v_start_date := SYSTIMESTAMP;
/* some code */
v_delta_interval := SYSTIMESTAMP - v_start_date;
insert into tmp_log_table
values (v_start_date, v_delta_interval, SYSTIMESTAMP);
end;
Проблема заключается в интервале между systimestamp (v_delta_interval). Если задание запускает процедуру - все в порядке, но если пользователь ее запускает - иногда это рассчитывается как +4 часа. Моя таблица журнала:
create table tmp_log_table
(
t_v_start_date TIMESTAMP(6),
t_v_delta_interval INTERVAL DAY(2) TO SECOND(6),
t_timestamp_log TIMESTAMP(6)
);
а иногда в tmp_log_table бывают такие значения:
SQL> select cast(t_timestamp_log - t_v_start_date as INTERVAL DAY(2) TO SECOND(6)) as CLC_INTERVAL,
T_V_DELTA_INTERVAL,
t_timestamp_log,
T_V_START_DATE
from tmp_log_table t;
CLC_INTERVAL T_V_DELTA_INTERVAL T_TIMESTAMP_LOG T_V_START_DATE
--------------------------------------- --------------------------------------- ------------------------------------------------- -------------------------------------------------
+00 00:00:31.897890 +00 04:00:31.895883 20-JAN-20 11.30.28.825271 AM 20-JAN-20 11.29.56.927381 AM
+00 00:00:46.392905 +00 04:00:46.382724 21-JAN-20 09.14.28.866425 AM 21-JAN-20 09.13.42.473520 AM
Почему у меня разница между значениями в процедуре +4 часа?