데이터 타입의 사용

본 장에서는 각종 애플리케이션 라이브러리를 사용하기 앞서 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가 자동으로 삽입되는 로우마다 포함하는 컬럼의 타입이다.

참고

데이터 타입에 대한 자세한 내용은 "Tibero SQL 참조 안내서"를 참고합니다.

문자형

본 절에서는 문자열을 표현하는 데이터 타입에 대해서 설명합니다.

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 타입에 정의된 옵션과 같다.

참고

이 타입은 day_precision 옵션과 fractional_seconds_precision 옵션을 사용하여 날짜의 자릿수, 초 이하의 자릿수를 제한할 수 있습니다.


대용량 객체형

본 절에서는 대용량 객체를 저장하는 데이터 타입에 대해서 설명합니다.

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