2016-06-02 2 views
1

해당 날짜를 CET 시간으로 변환하고 아래 select 문에서 해당 upd_date를 가져 오는 방법.reg_Date 및 upd_Date에 대한 트리거를 필요한 데이터와 함께 삽입하려면 upd_date가 UTC에 삽입됩니다. 0:00 timestamp

SELECT MAX(TO_DATE(TO_CHAR(upd_date,'yyyy-mm-dd HH:MI:SS'),'yyyy-mm-dd HH:MI:SS')) AS MAX_UPD_DATE 
FROM MY_TABLE 
WHERE user_id='SOMEVALUE'; 

MY_TABLE의 upd_date 저장소가 결과로 표시됩니다. 하지만 나는 UTC +0 : 00 시간을 원하지 않는다. 나는 CET 시간을 원해. (유럽/스톡홀름) 도와주세요.

답변

0

SQL에서 SWITCHOFFSET()을 사용하여 datetimeoffset을 원하는 시간대로 변경할 수 있습니다.

이 변경은 MDN에 따라 원래 datetimeoffset에 영향을주지 않습니다. 링크 예를 들어 here

Oracle를 들어

SELECT SWITCHOFFSET(column_name, '-05:00') FROM my_table 

를 참조하십시오, 당신이 사용할 수있는 기능이 있습니다. 예를 들어, TZ_OFFSET(timezone)Documentation 또는

SELECT FROM_TZ(column_name, 'US/Eastern') AT TIME ZONE 'Europe/London' 

다음은 AT TIME ZONE 절에 대한 자세한 내용입니다. link. 당신은 모든 시간대를 사용할보고 싶다면, 당신은이 쿼리를 실행할 수 있습니다

SELECT DISTINCT tzname FROM V$TIMEZONE_NAMES; 

I 추가 또는 그 이상의 오류 경향이 있기 때문에 날짜를 뺀되는 권장하지 않는 한 가지.

0

이중에서 SYSTIMESTAMP AT TIME ZONE 'CET'을 선택하십시오. 이것은 나를 위해 일했습니다