데이터 타입의 사용
본 장에서는 각종 애플리케이션 라이브러리를 사용하기 앞서 Tibero가 기본적으로 제공하는 데이터 타입을 소개하고 사용하는 방법을 설명합니다.
데이터 타입은 데이터베이스에 스키마 객체를 생성할 때 필요하며, 일반적인 클라이언트 프로그램에서도 모든 데이터 타입에 대응되는 변수를 사용할 수 있습니다.
Tibero에서 제공하는 데이터 타입은 다음과 같습니다.
문자형
CHAR, VARCHAR, VARCHAR2, NCHAR, NVARCHAR, NVAR
CHAR2, RAW, LONG, LONG RAW
문자열을 표현하는 데이터 타입이다.
숫자형
NUMBER, BINARY_FLOAT, BINA
RY_DOUBLE
정수나 실수의 숫자를 저장하는 데이터 타입이다.
날짜형
DATE, TIME, TIMESTAMP, TIMESTAMP WITH TIME ZONE,
TIMESTAMP WITH LOCAL TIME ZONE
시간이나 날짜를 저장하는 데이터 타입이다.
간격형
INTERVAL YEAR TO MONTH,
INTERVAL DAY TO SECOND
시간 간격을 저장하는 데이터 타입이다.
대용량 객체형
CLOB, NCLOB, BLOB, XMLTYPE,
JSON
대용량의 객체를 저장하는 데이터 타입이다.
내재형
ROWID
사용자가 명시적으로 선언하지 않아도Tibero가 자동으로 삽입되는 로우마다 포함하는 컬럼의 타입이다.
문자형
본 절에서는 문자열을 표현하는 데이터 타입에 대해서 설명합니다.
CHAR
CHAR 타입은 일반 문자열을 저장하는 데이터 타입으로, 고정 길이 문자열입니다. 사용 방법은 다음과 같습니다.
CHAR[(size[BYTE|CHAR])]
size
size는 선택적으로 사용할 수 있다. (최댓값: 2,000bytes)
size를 입력한 경우 : size만큼의 고정 길이를 갖는다.
size를 입력하지 않은 경우 : 기본값인 1byte의 고정 길이를 갖는다.
VARCHAR, VARCHAR2
VARCHAR 또는 VARCHAR2 타입은 일반 문자열을 저장하는 데이터 타입으로, 가변 길이 문자열입니다. 사용 방법은 다음과 같습니다.
VARCHAR(size[BYTE|CHAR])
VARCHAR2(size[BYTE|CHAR])
size
size에 정의된 만큼의 길이를 갖는다. (최댓값: 65,532bytes)
NCHAR
NCHAR 타입은 다국어 문자 집합을 사용하는 문자열을 저장하는 데이터 타입으로, 고정 길이 문자열입니다. 사용 방법은 다음과 같습니다.
NCHAR(size)
size
size에 정의된 만큼의 고정 길이를 갖는다. (최댓값: 2,000bytes)
NVARCHAR, NVARCHAR2
NVARCHAR 또는 NVARCHAR2 타입은 다국어 문자집합을 사용하는 문자열을 저장하는 데이터 타입으 로, 가변 길이 문자열입니다.
사용 방법은 다음과 같습니다.
NVARCHAR(size)
size
size에 정의된 만큼의 길이를 갖는다. (최댓값: 65,532bytes)
LONG
LONG 타입은 대용량 데이터를 저장하기 위한 데이터 타입입니다. 단, Oracle과의 호환성을 위해서만 사용합니다. 그 외에는 CLOB 타입을 사용할 것을 권장합니다.
사용 방법은 다음과 같습니다.
LONG
RAW
RAW 타입은 가변 길이를 갖는 바이너리 데이터를 저장하는 데이터 타입입니다. 사용 방법은 다음과 같습니다.
RAW(size)
size
size에 정의된 만큼의 길이를 갖는다. (최댓값: 2,000bytes)
LONG RAW
LONG RAW 타입은 대용량의 바이너리 데이터를 저장하는 데이터 타입입니다. 단, Oracle과의 호환성을 위해서만 사용한다. 그 외에는 BLOB 타입을 사용할 것을 권장합니다.
사용 방법은 다음과 같습니다.
LONG RAW
숫자형
본 절에는 정수나 실수의 숫자를 저장하는 데이터 타입에 대해서 설명합니다.
NUMBER
NUMBER 타입은 정수 또는 실수를 저장하는 데이터 타입입니다. 실제로 데이터베이스에 저장될 때는 숫자의 크기에 따라 가변 길이로 저장됩니다.
사용 방법은 다음과 같습니다.
NUMBER[(precision[, scale])]
precision
정밀도이며, 유효숫자의 최대 자릿수를 설정한다.
scale
스케일이며, 소수점 아래 가장 오른쪽 유효숫자까지의 자릿수를 설정한다.
BINARY_FLOAT
BINARY_FLOAT 타입은 실수나 정수를 표현하고, 32비트로 저장하는 단일 정밀도 데이터 타입입니다.
BINARY_DOUBLE
BINARY_DOUBLE 타입은 실수나 정수를 표현하고, 64비트로 저장하는 2배 정밀도 데이터 타입입니다.
날짜형
본 절에서는 시간이나 날짜를 저장하는 데이터 타입에 대해서 설명합니다.
DATE
DATE 타입은 년, 월, 일의 날짜를 저장하는 데이터 타입입니다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장됩니다.
사용 방법은 다음과 같습니다.
DATE
TIME
TIME 타입은 시, 분, 초의 시간을 저장하는 데이터 타입입니다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장됩니다.
사용 방법은 다음과 같습니다.
TIME
TIMESTAMP
TIMESTAMP 타입은 DATE 타입을 확장한 것으로 시간까지 저장하는 데이터 타입입니다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장됩니다.
사용 방법은 다음과 같습니다.
TIMESTAMP[(fractional_seconds_precision)]
fractional_sec onds_precision
소수점 초 단위 정밀도를 설정한다.
– 0부터 9까지 사용할 수 있다. (기본값: 6)
TIMESTAMP WITH TIME ZONE
TIMESTAMP WITH TIME ZONE 타입은 TIMESTAMP 타입을 확장한 것으로 주어진 시간을 UTC 시간대로 변경하고, 시간대 정보까지 저장하는 데이터 타입입니다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장됩니다.
사용 방법은 다음과 같습니다.
TIMESTAMP[(fractional_seconds_precision)] WITH TIME ZONE
fractional_sec onds_precision
소수점 초 단위 정밀도를 설정한다.
– 0부터 9까지 사용할 수 있다. (기본값: 6)
TIMESTAMP WITH LOCAL TIME ZONE
TIMESTAMP WITH LOCAL TIME ZONE 타입은 TIMESTAMP WITH TIME ZONE 타입과 마찬가지로 UTC 시간대로 바꾸기는 하지만, 시간대 정보는 저장하지 않는 데이터 타입입니다. 실제로 데이터베이스에 저장 될 때는 고정 길이로 저장되고, TIMESTAMP 타입과 같은 길이를 가집니다.
사용 방법은 다음과 같습니다.
TIMESTAMP[(fractional_seconds_precision)] WITH LOCAL TIME ZONE
fractional_sec onds_precision
소수점 초 단위 정밀도를 설정한다.
– 0부터 9까지 사용할 수 있다. (기본값: 6)
간격형
본 절에서는 시간 간격을 저장하는 데이터 타입인 간격형에 대해서 설명합니다.
INTERVAL YEAR TO MONTH
INTERVAL YEAR TO MONTH 타입은 년과 월의 차이를 저장하는 데이터 타입입니다. 실제로 데이터베이 스에 저장될 때는 고정 길이로 저장됩니다.
사용 방법은 다음과 같습니다.
INTERVAL YEAR [(year_precision)] TO MONTH
year_precision
연단위 정밀도를 설정한다.
0부터 9까지 사용할 수 있다. (기본값: 2)
연도의 자릿수를 제한할 수 있다.
INTERVAL DAY TO SECOND
INTERVAL DAY TO SECOND 타입은 날짜와 시간의 차이를 저장하는 데이터 타입입니다. 실제로 데이터베 이스에 저장될 때는 고정 길이로 저장됩니다.
사용 방법은 다음과 같습니다.
INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)]
day_precision
일단위 정밀도를 설정한다.
– 0부터 9까지 사용할 수 있다. (기본값: 2)
fractional_sec
onds_precision
TIMESTMAP 타입에 정의된 옵션과 같다.
대용량 객체형
본 절에서는 대용량 객체를 저장하는 데이터 타입에 대해서 설명합니다.
CLOB
CLOB 타입은 읽을 수 있는 문자열을 데이터베이스에 저장하는 데이터 타입으로, 대용량 데이터를 저장합니다. 대용량 데이터는 4GB까지 저장할 수 있습니다.
사용 방법은 다음과 같습니다.
CLOB
NCLOB
NCLOB 타입은 읽을 수 있는 National Characterset 문자열을 데이터베이스에 저장하는 데이터 타입으로, 대용량 데이터를 저장합니다. 대용량 데이터는 4GB까지 저장할 수 있습니다.
사용 방법은 다음과 같습니다.
NCLOB
BLOB
BLOB 타입은 대용량의 바이너리 데이터를 저장하는 데이터 타입입니다. 사용 방법은 다음과 같습니다.
BLOB
대용량의 바이너리 데이터는 4GB까지 저장할 수 있습니다.
XMLTYPE
XML(Extensible Markup Language)은 구조화되거나 그렇지 않은 모든 데이터를 표현하기 위해 W3C(World Wide Web Consortium)에 의해 표준으로 제정된 형식입니다. Tibero에서는 XML데이터를 저장하기 위해 XMLTYPE 타입을 제공하며, 내부적으로 CLOB 형식으로 저장됩니다.
사용 방법은 다음과 같습니다.
XMLTYPE
JSON
JSON은 KEY/VALUE 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷입니다. Tibero에서는 JSON 데이터를 저장하기 위해 JSON 타입을 제공하며, 내부적으로 BLOB 형식으로 저장됩니다.
사용 방법은 다음과 같습니다.
JSON
내재형
본 절에서는 사용자가 명시적으로 선언하지 않아도 Tibero가 자동으로 삽입되는 로우마다 포함하는 컬럼의 타입인 내재형에 대해서 설명합니다.
ROWID
ROWID 타입은 데이터베이스 테이블의 컬럼 주소를 저장하는 데이터 타입입니다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장됩니다.
사용 방법은 다음과 같습니다.
ROWID
Last updated