Oracle varchar2 для отметки времени с часовым поясом
Я пытаюсь преобразовать переменную VARCHAR2, которая содержит метку времени с часовым поясом, в переменную DATE. Я могу конвертировать метку времени без часового пояса, но когда я добавляю логику для часового пояса, я получаю "ORA-01821: формат даты не распознан". Пожалуйста, смотрите код ниже:
DECLARE
v_string VARCHAR2(400) := '2011-05-12 19:04:41.032645 +00:00';
v_date DATE;
BEGIN
SELECT to_timestamp(v_string,'YYYY-MM-DD HH24:MI:SSxFF TZH:TZM')
INTO v_date
FROM dual;
END;
1 ответ
Использование TO_TIMESTAMP_TZ
:
SQL> DECLARE
2 v_string VARCHAR2(400) := '2011-05-12 19:04:41.032645 +00:00';
3 v_date DATE;
4 BEGIN
5 v_date := to_timestamp_tz(v_string, 'YYYY-MM-DD HH24:MI:SS.FF TZH:TZM');
6 END;
7 /
PL/SQL procedure successfully completed