* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
|
Linux 64Bit |
|
10.2.7.8896 |
|
SQLGate for CUBRID developer 9.15.2.0 |
|
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
Date 유형의 데이타를 DB에 저장할 때,
저장은 UTC로 하고 읽어올때는 해당 지역의 Time Zone 값으로 읽어오려고 합니다.
어떻게 하면 되나요?
SELECT date_format(FROM_TZ(DATETIME '2022-05-27 12:02:00', 'Etc/UTC'), '%Y-%m-%d %H:%i');
이 SQL 문을 실행하면 KST로 변환된 시간이 나올 것이라고 예상했는데 2022-05-27 12:02 가 출력되었고
SELECT date_format(FROM_TZ(NOW(), 'Etc/UTC'), '%Y-%m-%d %H:%i');
이 SQL 문은 현재의 날짜가 출력되었습니다.
버전정보:
SELECT VERSION();
10.2.7.8896
다른 타임존으로 날짜 값을 변경하시기 위해서는 NEW_TIME함수를 사용하시면 됩니다.
사용법 : NEW_TIME(datetime '날짜시간', '원본타임존', '대상타임존')
예시 :
SELECT NEW_TIME(datetime '06/02/2022 11:35:28 PM', 'America/Los_Angeles', 'Asia/Seoul') As tz;
결과 :
tz
===============================
03:35:28.000 PM 06/03/2022
관련 매뉴얼 : https://www.cubrid.org/manual/ko/11.0/sql/function/datetime_fn.html#new-time