날짜/시간 데이터 타입은 날짜, 시간 혹은 이 두 가지를 모두 표현할 때 사용하는 데이터 타입으로, CUBRID는 다음과 같은 데이터 타입을 지원한다.
CUBRID가 지원하는 날짜/시간 데이터 타입
타입 |
최소값 |
최대값 |
비고 |
---|---|---|---|
DATE |
0001년 1월 1일 |
9999년 12월 31일 |
0년, 0월, 0일은 입력할 수 없다. |
TIME |
00시 00분 00초 |
23시 59분 59초 |
0시, 0분, 0초는 입력할 수 있다. |
TIMESTAMP |
1970년 1월 1일 0시 0분 0초(GMT) |
2038년 1월 19일 3시 14분 7초(GMT) |
TIMESTAMP 컬럼의 기본값을 SYS_TIMESTAMP로 지정하더라도, 데이터 삽입/갱신 시점의 TIMESTAMP 값이 저장되지 않으므로 주의한다. |
DATETIME |
0001년 1월 1일 0시 0분 0.000초 |
9999년 12월 31일 23시 59분 59.999초 |
예외적으로 DATETIME '0000-00-00 00:00:00'은 최소값으로 변환된다. |
범위와 해상도(Range and Resolution)
변환(Coercion)
날짜/시간 데이터 타입의 값은 서로 똑같은 항목을 가지고 있는 경우에만 CAST 연산자를 이용한 명시적인 변환이 가능하며, 묵시적 변환은 묵시적 타입 변환을 참고한다. 아래의 표는 명시적 변환이 가능한 타입을 설명한다. 날짜/시간 데이터 타입 간 산술 연산에 대한 내용은 날짜/시간 데이터 타입의 산술 연산과 타입 변환을 참고한다.
날짜/시간 데이터 타입의 명시적 변환
|
TO |
||||
---|---|---|---|---|---|
FROM |
|
DATE |
TIME |
DATETIME |
TIMESTAMP |
DATE |
- |
X |
O |
O |
|
TIME |
X |
- |
X |
X |
|
DATETIME |
O |
O |
- |
O |
|
TIMESTAMP |
O |
O |
O |
- |