큐브리드 timestamp 오류 문의

by jjun7204 posted Apr 12, 2023


* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.

OS
centos 8 stream
CUBRID Ver.
CUBRID 11.2 (11.2.3.0730-f0e52cb) (64bit release build for Linux)
CUBRID TOOL Ver.
 
응용 환경(API)
 


* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.

 

에러 내용 및 재현 방법 재현 가능한 Source와 SQL
관련 테이블(인덱스, 키정보 포함) 정보 CUBRID 홈 디렉토리 아래 log 디렉토리 압축


-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
cubrid 10.2에서 unloaddb를 사용하여 자료를 백업하고 cubrid 11.2에 loaddb를 하면서 발생한 오류 입니다.

cubrid 10.2에서 unloaddb시 추출된 db명_objects 파일을 열어서 오류 난 부분을 찾아보니 

insert 데이터에 TIMESTAMP '02:00:04 AM 03/08/2020' 이렇게 시간관련 부분을 찾았습니다.

cubrid 10.2에서 옮기는 테이블의 컬럼 type이 timestamp입니다.

 

sqlgate, csql 에서 쿼리를 날려봤습니다.

10.2 db에서는 정상적으로 나옵니다.

 

11.2 db에서는 아래와 같이 나옵니다.

SELECT timestamp '01:00:04 AM 03/08/2020' --> 2020-03-08 오전 1:00:04
SELECT TIMESTAMP '02:00:04 AM 03/08/2020' --> Error : [-494] Semantic: Invalid utime: '02:00:04 AM 03/08/2020'. select 
SELECT timestamp '03:00:04 AM 03/08/2020' --> 2020-03-08 오전 3:00:04

 

02시는 전부 에러가 납니다.

제가 뭔가를 잘못한걸까요?

11.2에서 timestamp를 쓰면 안되는 건가요?

 

<추가>

여러각도로 select, insert 다해보고 있습니다.

SELECT TIMESTAMP '02:00:04 AM 03/08/2020'

 

여기서 3월9일로 바꾸니깐 성공합니다.

SELECT TIMESTAMP '02:00:04 AM 03/09/2020'

여기서 3월7일로 바꿔도 성공합니다.

SELECT TIMESTAMP '02:00:04 AM 03/07/2020'

년도를 바꿔도 성공합니다.

SELECT TIMESTAMP '02:00:04 AM 03/08/2021'

 

결국 2020년 3월 8일 오전 2시 00분 00초 ~ 오전 2시 59분 59초 이 데이터만 오류가 납니다.

무슨 문제일까요?

 

<추가>

SELECT UNIX_TIMESTAMP('2020-03-08 01:59:58') --> 1583650798

SELECT UNIX_TIMESTAMP('2020-03-08 01:59:59') --> 1583650799

SELECT UNIX_TIMESTAMP('2020-03-08 03:00:00') --> 1583650800

SELECT UNIX_TIMESTAMP('2020-03-08 03:00:01') --> 1583650801

 

2시 데이터가 없어요

 

<추가>

위쪽에 에러나던 2020년 3월 8일 오전 2시 00분 00초 ~ 오전 2시 59분 59초 이 데이터를 제외하고 다시 loaddb를 실행했는데 다시 에러가 나네요

SELECT UNIX_TIMESTAMP('01:59:58 AM 03/14/2021') --> 1615705198
SELECT UNIX_TIMESTAMP('01:59:59 AM 03/14/2021') --> 1615705199
SELECT UNIX_TIMESTAMP('03:00:00 AM 03/14/2021') --> 1615705200
SELECT UNIX_TIMESTAMP('03:00:01 AM 03/14/2021') --> 1615705201

 

여기도 2시 데이터가 없어요

 

더이상은 테스트가 무의미 하겠네요

답변부탁드립니다.

 

 

 

 


Articles

1 2 3 4 5 6 7 8 9 10