본 장에서는 각종 애플리케이션 라이브러리를 사용하기 앞서 Tibero가 기본적으로 제공하는 데이터 타입을 소개하고 사용하는 방법을 설명한다.
데이터 타입은 데이터베이스에 스키마 객체를 생성할 때 필요하며, 일반적인 클라이언트 프로그램에서도 모든 데이터 타입에 대응되는 변수를 사용할 수 있다.
데이터 타입에 대한 자세한 내용은 "Tibero SQL 참조 안내서"를 참고한다.
본 절에서는 각 데이터 타입을 사용하는 방법을 설명한다.
CHAR 타입은 일반 문자열을 저장하는 데이터 타입으로, 고정 길이 문자열이다.
사용 방법은 다음과 같다.
CHAR[(size[BYTE|CHAR])]
옵션 | 설명 |
---|---|
size |
size는 선택적으로 사용할 수 있다. (최댓값: 2,000Byte)
|
VARCHAR 또는 VARCHAR2 타입은 일반 문자열을 저장하는 데이터 타입으로, 가변 길이 문자열이다.
사용 방법은 다음과 같다.
VARCHAR(size[BYTE|CHAR]) VARCHAR2(size[BYTE|CHAR])
항목 | 설명 |
---|---|
size | size에 정의된 만큼의 길이를 갖는다. (최댓값: 65,532bytes) |
NCHAR 타입은 다국어 문자집합을 사용하는 문자열을 저장하는 데이터 타입으로, 고정 길이 문자열이다.
사용 방법은 다음과 같다.
NCHAR(size)
항목 | 설명 |
---|---|
size | size에 정의된 만큼의 고정 길이를 갖는다. (최댓값: 2,000bytes) |
NVARCHAR 타입은 다국어 문자집합을 사용하는 문자열을 저장하는 데이터 타입으로, 가변 길이 문자열이다.
사용 방법은 다음과 같다.
NVARCHAR(size)
항목 | 설명 |
---|---|
size | size에 정의된 만큼의 길이를 갖는다. (최댓값: 65,532bytes) |
CLOB 타입은 읽을 수 있는 문자열을 데이터베이스에 저장하는 데이터 타입으로, 대용량 데이터를 저장한다.
사용 방법은 다음과 같다.
CLOB
대용량 데이터는 4GB까지 저장할 수 있다.
NCLOB 타입은 읽을 수 있는 National Characterset 문자열을 데이터베이스에 저장하는 데이터 타입으로, 대용량 데이터를 저장한다.
사용 방법은 다음과 같다.
NCLOB
대용량 데이터는 4GB까지 저장할 수 있다.
LONG 타입은 대용량 데이터를 저장하기 위한 데이터 타입이다. 단, Oracle과의 호환성을 위해서만 사용한다. 그 외에는 CLOB 타입을 사용할 것을 권장한다.
사용 방법은 다음과 같다.
LONG
NUMBER 타입은 정수 또는 실수를 저장하는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 숫자의 크기에 따라 가변 길이로 저장된다.
사용 방법은 다음과 같다.
NUMBER[(precision[, scale])]
옵션 | 설명 |
---|---|
precision | 정밀도이며, 정수의 자릿수를 설정한다. |
scale | 스케일이며, 소수점의 자릿수를 설정한다. |
DATE 타입은 년, 월, 일의 날짜를 저장하는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장된다.
사용 방법은 다음과 같다.
DATE
TIME 타입은 시, 분, 초의 시간을 저장하는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장된다.
사용 방법은 다음과 같다.
TIME
TIMESTAMP 타입은 DATE 타입을 확장한 것으로 시간까지 저장하는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장된다.
사용 방법은 다음과 같다.
TIMESTAMP[(fractional_seconds_precision)]
옵션 | 설명 |
---|---|
fractional_seconds_precision | 소수점 초 단위 정밀도를 설정한다.
|
TIMESTAMP WITH TIME ZONE 타입은 TIMESTAMP 타입을 확장한 것으로 주어진 시간을 UTC 시간대로 변경하고, 시간대 정보까지 저장하는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장된다.
사용 방법은 다음과 같다.
TIMESTAMP[(fractional_seconds_precision)] WITH TIME ZONE
옵션 | 설명 |
---|---|
fractional_seconds_precision | 소수점 초 단위 정밀도를 설정한다.
|
TIMESTAMP WITH LOCAL TIME ZONE 타입은 TIMESTAMP WITH TIME ZONE 타입과 마찬가지로 UTC 시간대로 바꾸기는 하지만, 시간대 정보는 저장하지 않는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장되고, TIMESTAMP 타입과 같은 길이를 가진다.
사용 방법은 다음과 같다.
TIMESTAMP[(fractional_seconds_precision)] WITH LOCAL TIME ZONE
옵션 | 설명 |
---|---|
fractional_seconds_precision | 소수점 초 단위 정밀도를 설정한다.
|
INTERVAL YEAR TO MONTH 타입은 년과 월의 차이를 저장하는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장된다.
사용 방법은 다음과 같다.
INTERVAL YEAR [(year_precision)] TO MONTH
옵션 | 설명 |
---|---|
year_precision | 연단위 정밀도를 설정한다.
|
INTERVAL DAY TO SECOND 타입은 날짜와 시간의 차이를 저장하는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장된다.
사용 방법은 다음과 같다.
INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)]
옵션 | 설명 |
---|---|
day_precision | 일단위 정밀도를 설정한다.
|
fractional_seconds_precision | TIMESTMAP 타입에 정의된 옵션과 같다. |
이 타입은 day_precision 옵션과 fractional_seconds_precision 옵션을 사용하여 날짜의 자릿수, 초 이하의 자릿수를 제한할 수 있다.
RAW 타입은 가변 길이를 갖는 바이너리 데이터를 저장하는 데이터 타입이다.
사용 방법은 다음과 같다.
RAW(size)
항목 | 설명 |
---|---|
size | size에 정의된 만큼의 길이를 갖는다. (최댓값: 2,000bytes) |
BLOB 타입은 대용량의 바이너리 데이터를 저장하는 데이터 타입이다.
사용 방법은 다음과 같다.
BLOB
대용량의 바이너리 데이터는 4GB까지 저장할 수 있다.
LONG RAW 타입은 대용량의 바이너리 데이터를 저장하는 데이터 타입이다. 단, Oracle과의 호환성을 위해서만 사용한다. 그 외에는 BLOB 타입을 사용할 것을 권장한다.
사용 방법은 다음과 같다.
LONG RAW