oracle
  • timezone
  • timestamp
  • varchar2
  • 2013-03-26 2 views 0 likes 
    0

    DATE 변수에 시간 소인/시간대가 포함 된 VARCHAR2 변수를 변환하려고합니다. 시간대없이 타임 스탬프를 변환 할 수 있지만 시간대 논리를 추가 할 때 "ORA-01821 : 날짜 형식이 인식되지 않음"이 표시됩니다. 코드 아래를 참조하십시오 :시간대가있는 시간 소인을 Oracle varchar2에

    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; 
    

    답변

    2

    사용 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 
    
    +0

    감사합니다! 나는 그걸 발견했다. – user2212306

    +0

    @ben 아니, 수정하지 :) –

    관련 문제