[SQL] DATE에 시간대와 오라클 변환 TIMESTAMP
SQLDATE에 시간대와 오라클 변환 TIMESTAMP
00 (유럽 / 모스크바)와 형식 YYYY-MM-DD "T"HH24에서 문자열을 변환 할 필요가 : MI : SSTZH : 나는 시간대 04와 DB가 오라클 11g의 DATE 데이터 유형에 TZM합니다.
11 : 31 + 02 : 즉, 나는 문자열 2013-11-08T10이 00 나는 DATE 데이터 형식으로 변환 할 (로컬 DB 시간대 04에서 : 00 (유럽 / 모스크바)).
대한 문자열 2013-11-08T10 : 11 : 31 + 02 : (00 유럽 : 00 내 원하는 변환은 날짜 2013년 11월 8일 12시 11분 31초 (즉, 시간의 현지 시간대 변환과 04에 함께 DATE 데이터 형식을 반환해야 /모스크바)). 스트링의 다른 시간대 및 +02 수있다 : 문자열 00 위 단지 예이다.
나는 TIMESTAMP 데이터 유형이 일을 시도하지,하지만 시간대 변환에 더 성공.
해결법
-
==============================
1.to_timestamp_tz ()시에 지역 구절이 시간대 데이터 형식의 타임 스탬프의 값에 문자열 리터럴을 변환 할 수 있습니다와 기능 :
to_timestamp_tz ()시에 지역 구절이 시간대 데이터 형식의 타임 스탬프의 값에 문자열 리터럴을 변환 할 수 있습니다와 기능 :
SQL> with t1(tm) as( 2 select '2013-11-08T10:11:31+02:00' from dual 3 ) 4 select to_timestamp_tz(tm, 'yyyy-mm-dd"T"hh24:mi:ss TZH:TZM') 5 at time zone '+4:00' as this_way 6 , to_timestamp_tz(tm, 'yyyy-mm-dd"T"hh24:mi:ss TZH:TZM') 7 at time zone 'Europe/Moscow' as or_this_way 8 from t1 9 /
결과:
THIS_WAY OR_THIS_WAY ---------------------------------------------------------------------------- 2013-11-08 12.11.31 PM +04:00 2013-11-08 12.11.31 PM EUROPE/MOSCOW
그리고, 우리는 날짜 데이터 형식의 값을 생성 캐스트 () 함수를 사용하여 :
with t1(tm) as( select '2013-11-08T10:11:31+02:00' from dual ) select cast(to_timestamp_tz(tm, 'yyyy-mm-dd"T"hh24:mi:ss TZH:TZM') at time zone '+4:00' as date) as this_way , cast(to_timestamp_tz(tm, 'yyyy-mm-dd"T"hh24:mi:ss TZH:TZM') at time zone 'Europe/Moscow' as date) as or_this_way from t1 This_Way Or_This_Way ------------------------------------------ 2013-11-08 12:11:31 2013-11-08 12:11:31
시간대 절과 to_timestamp_tz () 함수에서 더에 대해 알아보십시오.
-
==============================
2.
SELECT CAST((FROM_TZ(CAST(timezonefield AS TIMESTAMP),'GMT') AT TIME ZONE 'CET') AS DATE) FROM table;
중부 유럽 시간에 최신 GMT의 타임 스탬프로 변환
-
==============================
3.당신이 "SYSDATE"와 동기화 날짜로 변환하는 시간대와 타임 스탬프를 원하는 경우 다음 다음을 사용 :
당신이 "SYSDATE"와 동기화 날짜로 변환하는 시간대와 타임 스탬프를 원하는 경우 다음 다음을 사용 :
select CAST(to_timestamp_tz('2013-11-08T10:11:31-02:00', 'yyyy-mm-dd"T"hh24:mi:sstzh:tzm') at time zone to_char(systimestamp, 'tzh:tzm') AS DATE) from dual
-
==============================
4.최신 캐스트 타임 스탬프 :
최신 캐스트 타임 스탬프 :
캐스트 (날짜로 registrationmaster.Stamp5DateTime)> = '05 -05-2018 'AND 캐스트 (날짜로 registrationmaster.Stamp5DateTime) <= '05 -05-2018 '
from https://stackoverflow.com/questions/20089859/oracle-convert-timestamp-with-timezone-to-date by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 모두 일치하는 정규 표현식은 T-SQL 스크립트에 댓글 (0) | 2020.06.09 |
---|---|
[SQL] MYSQL - IN과 존재의 차이 (0) | 2020.06.09 |
[SQL] 다른 컬럼에서 순서에 따라 그룹에서 하나 개의 값을 선택 (0) | 2020.06.09 |
[SQL] SQL 현재 행의 다음 또는 이전 행에 대해 행을 당겨 (0) | 2020.06.09 |
[SQL] SQLite는 내부 조인 - 업데이트가 다른 테이블의 값을 사용하여 (0) | 2020.06.09 |