У меня есть запрос, который использует функцию FROM_TZ для преобразования времени UT C в PT C, как показано ниже. Он отлично работает во все дни месяца, кроме 1-го.
Например, если выполнить приведенный ниже запрос для преобразования часового пояса 1 мая не происходит должным образом
Запрос:
SELECT /*+ no_unnest */
MIN(TO_CHAR(processstart,'DD-MON-YYYY HH24:MI:SS')) xlagltrn_min,
MAX(TO_CHAR(processend,'DD-MON-YYYY HH24:MI:SS')) xlagltrn_max,
MIN(TO_CHAR(FROM_TZ(processstart, DBTIMEZONE) at time zone 'America/Los_Angeles','DD-MON-YYYY
HH24:MI:SS')) xlagltrn_min_tz,
MAX(TO_CHAR(FROM_TZ(processend, DBTIMEZONE) at time zone 'America/Los_Angeles','DD-MON-YYYY
HH24:MI:SS')) xlagltrn_max_tz,
MAX(processend) - MIN(processstart) Total
FROM ess_request_history erh
WHERE TO_CHAR(erh.processstart,'DD-MM-YYYY') = TO_CHAR(:p_processstart,'DD-MM-YYYY')
AND definition LIKE '%XLAGLTRN'
```
May 1st Results
XLAGLTRN_MIN XLAGLTRN_MAX `XLAGLTRN_MIN_TZ` XLAGLTRN_MAX_TZ
01-05-2020 05:30 01-05-2020 08:18 01-05-2020 01:00 30-04-2020 23:40
May 2nd Results Time Zone Conversions Working Properly
XLAGLTRN_MIN XLAGLTRN_MAX XLAGLTRN_MIN_TZ XLAGLTRN_MAX_TZ
02-05-2020 05:30 02-05-2020 08:15 01-05-2020 22:30 02-05-2020 01:15
Thanks