|
||
1. 날짜/시간 데이터 타입의 정의와 특성 | ||
1) 정의 | ||
날짜-시간 데이터 타입은 날짜, 시간 혹은 이 두 가지를 모두 표현할 때 사용하는 데이터 타입으로, CUBRID는 다음과 같은 데이터 타입을 지원한다. | ||
DATE | ||
TIME | ||
TIMESTAMP | ||
2) 특성 | ||
범위와 해상도(Range and Resolution) | ||
시간 값의 표현은 기본적으로 24시간 시스템에 의하여 그 범위가 결정된다. 날짜는 그레고리력(Gregorian calendar)을 따른다. 이 두 제약점을 벗어나는 값이 날짜나 시간으로 입력되면 오류가 발생한다. DATE 중 연도 부분은 0과 9999 AD 사이에 들어야 한다. TIMESTAMP의 경우에는 연도 부분이 더 작은 범위를 갖는데, 구체적으로는 GMT로 1970년 1월 1일 0시0분0초부터 2038년 1월 19일 03시14분07초까지 저장할 수 있다. 날짜, 시간, 타임스탬프와 관련된 연산은 시스템의 반올림 시스템에 따라 결과가 달라질 수 있다. 이러한 경우, 시간과 타임스탬프는 가장 근접한 초를 최소 해상도로, 날짜는 가장 근접한 날짜를 최소 해상도로 하여 결정된다. |
||
변환(Coercion) | ||
날짜-시간 타입의 값은 서로 똑같은 항목을 가지고 있는 경우에만 서로 비교 가능하다. 결론적으로, 서로 다른 날짜-시간 타입 사이의 자동 변환은 지원되지 않는다. 명시적인 변환은 CAST 연산자를 이용하여 가능한데, 그것도 TIMESTAMP 타입의 값들 간에만 가능하다. | ||
2. DATE | ||
DATE 데이터 타입은 날짜, 월, 연도 등 세 부분으로 이루어진 값이다. DATE 리터럴은 문자 스트링으로 표현하는데, 키워드 DATE 뒤에 다음과 같은 형식으로 작성한다. | ||
|
||
mm은 월, dd는 날짜, 그리고 yyyy는 연도를 나타낸다. 만약, 연도 부분이 생략되면 현재 연도가 자동으로 지정된다. | ||
1) 참고 사항 | ||
모든 항목은 정수 형태로 입력되어야 한다. | ||
2) 예제 | ||
|
||
3. TIME | ||
TIME 데이터 타입은 시각, 분, 초 등 세 부분으로 이루어진 값이다. TIME 리터럴은 문자 스트링으로 표현하는데, 키워드 TIME 뒤에 다음과 같은 형식으로 작성한다. | ||
|
||
hh는 시간, mm은 분, 그리고 ss는 초를 나타낸다. 만약, 초 부분이 생략되면 자동으로 0초로 지정된다. 시간은 자동으로 군 표준(military standard) 형식으로 변환할 수 있다. |
||
1) 참고 사항 | ||
모든 항목은 정수 형태로 입력되어야 한다. | ||
시간을 입력할 때에는 AM/PM 혹은 군 표준 형식에 관계 없이 둘 다 사용할 수 있으나, CSQL에 의하여 출력될 때에는 항상 AM/PM 형식을 사용한다. 군 표준 형식으로 입력할 때에도 AM/PM을 사용할 수 있는데, 주어진 시간 값을 AM/PM으로 변환했을 때 실제로 주어진 AM/PM과 일치할 경우에만 허용된다. | ||
모든 시간 값은 데이터베이스에는 군 표준 형식으로 저장되고, C API 함수인 db_time_decode를 이용하면 군 표준 형식으로 반환된다. | ||
2) 예제 | ||
|
||
4. TIMESTAMP | ||
TIMESTAMP 데이터 타입은 날짜와 시간을 결합한 데이터 값을 표현한다. TIMESTAMP 구문은 아래와 같이 TIMESTAMP라는 키워드 뒤에 ’날짜 시간’ 혹은 ’시간 날짜’의 문자 스트링로 표현한다. | ||
|
||
1) 참고 사항 | ||
각 항목의 의미는 앞의 DATE, TIME에서 이미 소개한 바와 같은데 한 가지 다른 점은 TIMESTAMP에 허용되는 값의 범위는 GMT로 1970년 1월 1일 0시0분0초부터 2038년 1월 19일 03시14분07초까지라는 점이다. | ||
2) 예제 | ||
|
||
- 강좌 URL : http://www.gurubee.net/lecture/2025
- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.