제1장 데이터 타입의 사용

내용 목차

1.1. 개요
1.2. 문자형
1.3. 숫자형
1.4. 날짜형
1.5. 간격형
1.6. 바이너리
1.7. 내재형

본 장에서는 각종 애플리케이션 라이브러리를 사용하기 앞서 Tibero가 기본적으로 제공하는 데이터 타입을 소개하고 사용하는 방법을 설명한다.

데이터 타입은 데이터베이스에 스키마 객체를 생성할 때 필요하며, 일반적인 클라이언트 프로그램에서도 모든 데이터 타입에 대응되는 변수를 사용할 수 있다.

Tibero에서 제공하는 데이터 타입은 다음과 같다.

구분데이터 타입설명
문자형CHAR, VARCHAR, VARCHAR2, NCHAR, NVARCHAR, CLOB, NCLOB, LONG, XMLTYPE문자열을 표현하는 데이터 타입이다.
숫자형NUMBER, BINARY_FLOAT, BINARY_DOUBLE정수나 실수의 숫자를 저장하는 데이터 타입이다.
날짜형

DATE, TIME, TIMESTAMP,

TIMESTAMP WITH TIME ZONE,

TIMESTAMP WITH LOCAL TIME ZONE

시간이나 날짜를 저장하는 데이터 타입이다.
간격형

INTERVAL YEAR TO MONTH,

INTERVAL DAY TO SECOND

시간 간격을 저장하는 데이터 타입이다.
바이너리RAW, BLOB, LONG RAW바이너리 데이터를 저장하는 데이터 타입이다.
내재형ROWID사용자가 명시적으로 선언하지 않아도 Tibero가 자동으로 삽입되는 로우마다 포함하는 컬럼의 타입이다.

참고

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

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

CHAR

CHAR 타입은 일반 문자열을 저장하는 데이터 타입으로, 고정 길이 문자열이다.

사용 방법은 다음과 같다.

CHAR[(size[BYTE|CHAR])]
옵션설명
size

size는 선택적으로 사용할 수 있다. (최댓값: 2,000Byte)

  • size를 입력한 경우: size만큼의 고정 길이를 갖는다.

  • size를 입력하지 않은 경우: 기본값인 1byte의 고정 길이를 갖는다.

VARCHAR, VARCHAR2

VARCHAR 또는 VARCHAR2 타입은 일반 문자열을 저장하는 데이터 타입으로, 가변 길이 문자열이다.

사용 방법은 다음과 같다.

VARCHAR(size[BYTE|CHAR])
VARCHAR2(size[BYTE|CHAR])
항목설명
sizesize에 정의된 만큼의 길이를 갖는다. (최댓값: 65,532bytes)

NCHAR

NCHAR 타입은 다국어 문자집합을 사용하는 문자열을 저장하는 데이터 타입으로, 고정 길이 문자열이다.

사용 방법은 다음과 같다.

NCHAR(size)
항목설명
sizesize에 정의된 만큼의 고정 길이를 갖는다. (최댓값: 2,000bytes)

NVARCHAR

NVARCHAR 타입은 다국어 문자집합을 사용하는 문자열을 저장하는 데이터 타입으로, 가변 길이 문자열이다.

사용 방법은 다음과 같다.

NVARCHAR(size)
항목설명
sizesize에 정의된 만큼의 길이를 갖는다. (최댓값: 65,532bytes)

CLOB

CLOB 타입은 읽을 수 있는 문자열을 데이터베이스에 저장하는 데이터 타입으로, 대용량 데이터를 저장한다. 대용량 데이터는 4GB까지 저장할 수 있다.

사용 방법은 다음과 같다.

CLOB

NCLOB

NCLOB 타입은 읽을 수 있는 National Characterset 문자열을 데이터베이스에 저장하는 데이터 타입으로, 대용량 데이터를 저장한다. 대용량 데이터는 4GB까지 저장할 수 있다.

사용 방법은 다음과 같다.

NCLOB

LONG

LONG 타입은 대용량 데이터를 저장하기 위한 데이터 타입이다. 단, Oracle과의 호환성을 위해서만 사용한다. 그 외에는 CLOB 타입을 사용할 것을 권장한다.

사용 방법은 다음과 같다.

LONG

본 절에는 정수나 실수의 숫자를 저장하는 데이터 타입에 대해서 설명한다.

NUMBER

NUMBER 타입은 정수 또는 실수를 저장하는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 숫자의 크기에 따라 가변 길이로 저장된다.

사용 방법은 다음과 같다.

NUMBER[(precision[, scale])]
옵션설명
precision정밀도이며, 정수의 자릿수를 설정한다.
scale스케일이며, 소수점의 자릿수를 설정한다.

본 절에서는 시간이나 날짜를 저장하는 데이터 타입에 대해서 설명한다.

DATE

DATE 타입은 년, 월, 일의 날짜를 저장하는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장된다.

사용 방법은 다음과 같다.

DATE

TIME

TIME 타입은 시, 분, 초의 시간을 저장하는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장된다.

사용 방법은 다음과 같다.

TIME

TIMESTAMP

TIMESTAMP 타입은 DATE 타입을 확장한 것으로 시간까지 저장하는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장된다.

사용 방법은 다음과 같다.

TIMESTAMP[(fractional_seconds_precision)]
옵션설명
fractional_seconds_precision

소수점 초 단위 정밀도를 설정한다.

  • 0부터 9까지 사용할 수 있다. (기본값: 6)

TIMESTAMP WITH TIME ZONE

TIMESTAMP WITH TIME ZONE 타입은 TIMESTAMP 타입을 확장한 것으로 주어진 시간을 UTC 시간대로 변경하고, 시간대 정보까지 저장하는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장된다.

사용 방법은 다음과 같다.

TIMESTAMP[(fractional_seconds_precision)] WITH TIME ZONE
옵션설명
fractional_seconds_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_seconds_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_seconds_precisionTIMESTMAP 타입에 정의된 옵션과 같다.

참고

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

본 절에서는 바이너리 데이터를 저장하는 데이터 타입에 대해서 설명한다.

RAW

RAW 타입은 가변 길이를 갖는 바이너리 데이터를 저장하는 데이터 타입이다.

사용 방법은 다음과 같다.

RAW(size)
항목설명
sizesize에 정의된 만큼의 길이를 갖는다. (최댓값: 2,000bytes)

BLOB

BLOB 타입은 대용량의 바이너리 데이터를 저장하는 데이터 타입이다.

사용 방법은 다음과 같다.

BLOB 

대용량의 바이너리 데이터는 4GB까지 저장할 수 있다.

LONG RAW

LONG RAW 타입은 대용량의 바이너리 데이터를 저장하는 데이터 타입이다. 단, Oracle과의 호환성을 위해서만 사용한다. 그 외에는 BLOB 타입을 사용할 것을 권장한다.

사용 방법은 다음과 같다.

LONG RAW

본 절에서는 사용자가 명시적으로 선언하지 않아도 Tibero가 자동으로 삽입되는 로우마다 포함하는 컬럼의 타입인 내재형에 대해서 설명한다.

ROWID

ROWID 타입은 데이터베이스 테이블의 컬럼 주소를 저장하는 데이터 타입이다. 실제로 데이터베이스에 저장될 때는 고정 길이로 저장된다.

사용 방법은 다음과 같다.

ROWID