APEX Cloud Service는 자율주행 데이터베이스 안에서 작동하므로 시스템 시간을 읽어오는 sysdate나 timezone 셋팅을 변경할 수 없어서 local에 맞는 시간을 보여주기 위해서는 session timezone이나 current_date를 사용해야 함.
1. 자동 세션 타임존 설정
Shared Component - Globalization - Automatic TimeZone : YES
2. 테스트 테이블 생성 및 sysdate 추가
SQL Workshop 에서 실행을 했고 해당하는 세션 타임존 설정을 못 찾음. 모두 UTC
3. 테이블을 조회하면 컬럼 속성에 따라 dt 는 UTC 그래도 ltz 는 로컬 시간으로 변경되어서 조회됨
4. 두 컬럼을 동일하게 10시 30분으로 변경한 후 시스템에서 조회하면 dt 는 입력 값 그대로 저장되고, ltz는 변환되어 저장이 됨.
결론 : 자율주행 데이터베이스에서 작동하는 APEX는 timestamp with local time zone 을 사용 필요. (아직 사용하지 말아야하는 이유는 없음)
참고
https://apex.oracle.com/pls/apex/germancommunities/apexcommunity/tipp/6381/index-en.html
https://joelkallman.blogspot.com/2020/03/how-to-show-dates-in-given-time-zone.html
댓글 없음:
댓글 쓰기