20211018 - 타임존에 대해서 Timezone

APEX Cloud Service는 자율주행 데이터베이스 안에서 작동하므로 시스템 시간을 읽어오는 sysdate나 timezone 셋팅을 변경할 수 없어서 local에 맞는 시간을 보여주기 위해서는 session timezone이나 current_date를 사용해야 함.


1. 자동 세션 타임존 설정

Shared Component - Globalization - Automatic TimeZone : YES



2. 테스트 테이블 생성 및 sysdate 추가


drop table xtempx;

create table xtempx (
    id                             number generated by default on null as identity 
                                   constraint xtempx_id_pk primary key,
    dt                             timestamp,
    ltz                            timestamp with local time zone
)
;

insert into xtempx (dt, ltz) values (sysdate, sysdate);

select dt, ltz from xtempx

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

댓글 없음:

댓글 쓰기

20250202 - IG 다운로드 버튼 바로 보이기

JS initialization Code : function (config) {     var $ = apex.jQuery,         toolbarData = $.apex.interactiveGrid.copyDefaultToolbar(),  ...