SQL 데이터 타입

Tibero에서 제공하는 SQL 표준에 기반한 데이터 타입별 특징과 예시를 소개합니다.

Tibero에서 제공하는 데이터 타입

구분
데이터 타입

문자형

CHAR, VARCHAR, VARCHAR2, NCHAR, NVARCHAR, NVARCHAR2, RAW, LONG, LONG RAW

숫자형

NUMBER, INTEGER, FLOAT, BINARY_FLOAT, BINARY_DOUBLE

날짜형

DATE, TIME, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH

LOCAL TIME ZONE

간격형

INTERVAL YEAR TO MONTH, INTERVAL DAY TO SECOND

대용량 객체형

CLOB, BLOB, XMLTYPE, JSON

내재형

ROWID

사용자 정의형

배열, 네스티드 테이블

문자형

문자형은 문자열을 표현하는 데이터 타입입니다. 문자형에는 CHAR, VARCHAR, VARCHAR2, NCHAR, NVARCHAR, NVARCHAR2, RAW, LONG, LONG RAW 타입 등이 있습니다.

CHAR

CHAR 타입은 문자열을 저장하는 데이터 타입으로, 항상 고정된 문자열 길이를 갖습니다.

CHAR 타입 특징

  • 문자열은 최대 2,000byte나 2,000자까지 선언할 수 있습니다.

Tibero에서는 CHAR 타입으로 정의한 컬럼에 입력된 문자열을 데이터베이스의 문자 집합에 맞게 변환 하여 저장합니다.

  • 문자열의 길이는 byte와 문자를 기준으로 지정할 수 있습니다.

- CHAR (10 BYTE), CHAR (10 CHAR)의 형태로 선언합니다.뒷부분에 어떤 옵션도 지정하지 않고 CHAR(10)의 형태로 선언하면, byte로 문자열의 길이가 지정됩니다.

- 각각 BYTE로 선언할 경우 2,000byte 까지 저장할 수 있고, CHAR로 선언할 경우 2,000자까지 저장할 수 있습니다.

따라서 CHAR로 문자열의 길이를 선언할 때 실제 컬럼의 길이는 데이터베이스가 사용하는 문자 집합에 따라 좌우됩니다.즉, 한 문자가 몇 byte로 표현되는지에 따라 그 길이가 달라집니다.

  • SQL 문장에서 CHAR 타입의 값을 표현할 때에는 항상 작은따옴표(' ')를 사용합니다.

  • 문자열의 길이가 0인 값은 NULL로 인식됩니다.

CHAR 타입 예시

PRODUCT_NAME CHAR(10)

위 예제에서 보듯이 PRODUCT_NAME 컬럼은 항상 10byte의 문자열 길이를 갖습니다.

예를 들어 'Tibero' 문자열이 입력됬다면, 네 개의 공백 문자가 채워져서 'Tibero____ ' 문자열이 저장됩니다. 이처럼 선언된 길이보다 짧은 문자열이 입력되면 남은 부분은 공백 문자(space)로 채워집니다.

VARCHAR

CHAR 타입과 마찬가지로 문자열을 저장하는 데이터 타입입니다. 단, 문자열 길이가 일정하지 않은 가변 길이를 갖는다는 것이 CHAR 타입과 차이점 입니다.

VARCHAR(size[BYTE|CHAR])

VARCHAR 타입 특징

  • 문자열은 최대 65,532byte나 65,532자까지 선언할 수 있습니다.

변환된 문자열의 길이가 65,532byte나 65,532자를 넘으면 에러가 발생합니다.

Tibero에서는 VARCHAR 타입으로 정의한 컬럼에 입력된 문자열을 데이터베이스의 문자 집합에 맞게 변환하여 저장하며 이때 변환된 문자열은 65,532byte를 초과하면 안됩니다.

  • 문자열의 길이는 byte와 문자를 기준으로 지정할 수 있습니다.

VARCHAR (10 BYTE), VARCHAR (10 CHAR)의 형태로 선언합니다. 뒷부분에 어떤 옵션도 지정하지 않고 VARCHAR(10)의 형태로 선언하면, byte로 문자열의 길이가 지정됩니다. 각각 BYTE로 선언할 경우에는 65,532byte까지 저장할 수 있고, CHAR로 선언할 경우엔 65,532자까지 저장할 수 있습니다. 따라서 CHAR로 문자열의 길이를 선언할 때 실제 컬럼의 길이는 데이터베이스가 사용하는 문자 집합에 따라 좌우됩니다. 즉, 한 문자가 몇 byte로 표현되는지에 따라 그 길이가 달라집니다.

  • SQL 문장에서 VARCHAR 타입의 값을 표현할 때에는 항상 작은따옴표(' ')를 사용합니다.

  • 문자열의 길이가 0인 값은 NULL로 인식됩니다.

VARCHAR 타입 예시

EMP_NAME VARCHAR(10)

위 예제에서 보듯이 EMP_NAME 컬럼은 10byte의 문자열 길이를 갖습니다.

예를 들어 'Peter' 문자열이 입력됬다면 'Peter' 문자열이 저장됩니다. 즉, EMP_NAME 컬럼의 문자열 길이는 10byte로 선언됬으나 실제로 저장된 문자열 길이는 5byte 입니다. 이처럼 VARCHAR 타입은 선언된 문자열 길이의 범위 내에 서 입력된 문자열 길이와 동일한 길이를 갖습니다.

VARCHAR2

VARCHAR2 타입은 VARCHAR 타입과 완전히 동일합니다.

NCHAR

NCHAR 타입은 유니코드 문자열을 저장하기 위한 타입으로,항상 고정된 문자열 길이를 갖습니다.

NCHAR(size)

NCHAR 타입 특징

  • 기본적으로 CHAR 타입과 유사하지만, 문자열의 길이가 문자 기준입니다. 데이터베이스에 저장되는 타입의 길이는 다국어 문자 집합에 따라 달라집니다. (예: UTF8인 경우 size의 최대 3배, UTF16인 경우 size의 최대 2배)

  • NCHAR 타입의 문자열의 최대 길이는 2,000자 입니다.

  • SQL 문장에서 NCHAR 타입의 값을 표현할 때에는 항상 작은따옴표(' ')를 사용합니다.

  • 문자열의 길이가 0인 값은 NULL로 인식됩니다.

NVARCHAR

NVARCHAR 타입은 NCHAR과 마찬가지로 유니코드 문자열을 저장하기 위한 타입입니다. 단, 문자열 길이가 일정하지 않은 가변 길이를 갖는다는 것이 NCHAR 타입과의 차이점입니다.

NVARCHAR(size)

NVARCHAR 타입 특징

  • 기본적으로 VARCHAR 타입과 유사하지만, 문자열의 길이가 문자 기준입니다. 데이터베이스에 저장되는 타입의 길이는 다국어 문자 집합에 따라 달라집니다. (예: UTF8인 경우 size의 최대 3배, UTF16인 경우 size의 최대 2배)

  • NVARCHAR 타입의 문자열의 최대 길이는 65,532자 입니다. 단, 65,532byte를 초과할 수 없습니다.

  • SQL 문장에서 NVARCHAR 타입의 값을 표현할 때에는 항상 작은따옴표(' ')를 사용합니다.

  • 문자열의 길이가 0인 값은 NULL로 인식됩니다.

NVARCHAR2

NVARCHAR2 타입은 NVARCHAR 타입과 완전히 동일합니다.

RAW

RAW 타입은 임의의 바이너리 데이터를 저장하는 데이터 타입 입니다. 이때 바이너리 데이터는 선언된 최대 길이 내에서 임의의 길이를 갖습니다.

RAW 타입이 CHAR, VARCHAR 타입과 다른 점은 RAW 타입은 데이터 중간에 NULL 문자('\0')가 올 수 있지만 CHAR, VARCHAR 타입은 그렇지 않습니다. 따라서 RAW 타입은 NULL 문자로 데이터의 끝을 나타낼 수 없으므로 항상 길이 정보를 같이 저장합니다.

RAW(size)

RAW 타입 특징

  • 최대 2,000byte까지 선언할 수 있습니다.

  • 선언된 길이 내에서 가변 길이를 갖습니다.

  • 데이터 중간에 NULL 문자('\0')가 올 수 있습니다.

  • 입출력을 수행할 때 RAW 타입의 데이터는 16진수로 표현됩니다. (예: 4byte의 데이터는 16진수로 '012345AB'로 표현, 필요 시 맨 앞이 0 으로 시작되어야 함)

LONG

LONG 타입은 VARCHAR 타입을 확장한 데이터 타입으로, VARCHAR 타입과 마찬가지로 문자열이 저장됩니다.

LONG 타입 특징

  • 최대 2GB까지 선언할 수 있습니다.

  • 테이블 내의 한 컬럼에만 선언할 수 있습니다.

  • LONG 타입의 컬럼에 대해서는 인덱스를 생성할 수 없습니다.

  • LONG 타입의 컬럼을 포함한 로우(Row)가 디스크에 저장될 때에는 다른 컬럼의 값과 함께 동일한 디스크 블록에 저장되며, 길이에 따라 여러 디스크 블록에 걸쳐 저장될 수 있습니다.

  • LONG 타입의 데이터에 접근할 때는 항상 순차적으로만 접근할 수 있으며, 임의의 위치에 대해 연산은 할 수 없습니다.

LONG RAW

LONG RAW 타입은 RAW 타입을 확장한 데이터 타입입니다. RAW 타입과 마찬가지로 바이너리 데이터가 저장됩니다.

LONG RAW

LONG RAW 타입 특징

  • 최대 2GB까지 선언할 수 있습니다.

  • 테이블 내의 한 컬럼에만 선언할 수 있습니다.

  • LONG RAW 타입의 컬럼에 대해서는 인덱스를 생성할 수 없습니다.

  • LONG RAW 타입의 컬럼을 포함한 로우가 디스크에 저장될 때에는 다른 컬럼의 값과 함께 동일한 디스크 블록에 저장되며, 길이에 따라 여러 디스크 블록에 걸쳐 저장될 수 있습니다.

  • LONG RAW 타입의 데이터에 접근할 때는 항상 순차적으로만 접근할 수 있으며, 임의의 위치에 대해 연산은 할 수 없습니다.


숫자형

숫자형은 정수나 실수의 숫자를 저장하는 데이터 타입입니다. 숫자형에는 NUMBER 타입, INTEGER 타입, FLOAT 타입, BINARY_FLOAT 타입, BINARY_DOUBLE 타입이 있습니다.

Tibero에서는 ANSI에서 제정한 SQL 표준의 숫자 타입의 선언을 지원합니다. 즉, INTEGER 타입 또는 FLOAT 타입으로 컬럼을 선언하더라도 내부적으로 적절한 정밀도와 스케일을 설정하여 NUMBER 타입으로 변환합니다.

본 안내서에서는 INTEGER 타입, FLOAT 타입에 대한 내용은 별도로 기술하지 않습니다.

NUMBER

NUMBER 타입은 정수 또는 실수를 저장하는 데이터 타입입니다.

NUMBER 타입이 표현할 수 있는 수의 범위는 음양으로 절댓값이 1.0×10^-130보다 크거나 같고, 1.0×10^126 보다 작은 38자리의 수를 표현할 수 있으며 0과 ±무한대를 포함합니다.

NUMBER 타입은 선언할 때 다음과 같이 자릿수를 의미하는 정밀도와 스케일을 함께 정의할 수 있습니다.

NUMBER[(precision[,scale])]

구분
설명

precision

유효숫자의 최대 자릿수

  • 가장 왼쪽의 0이 아닌 숫자부터 가장 오른쪽의 신뢰할 수 있는 숫자까지의 자리 수

  • 정밀도를 초과하는 자릿수의 데이터는 저장 불가

  • 정밀도는 1 ~ 38까지 정의 가능

정밀도는 애스터리스크(*)로도 선언 가능

  • 정밀도를 38로 선언한 것을 의미, 이 경우 스케일 값을 함께 선언

scale

소수점 아래 가장 오른쪽 유효숫자까지의 자릿수

  • 스케일은 생략할 수 있으며, 0으로 선언한 것과 동일, 이 경우 정수를 표현

  • 마이너스의 스케일은 소수점 위의 자릿수

  • 스케일을 초과하는 데이터는 반올림을 수행

  • 스케일은 -125 ~ 130까지 정의

정밀도와 스케일을 생략하여 선언한 경우 표현 가능한 최대 범위와 최대 정밀도 내에서 임의의 자릿수를 갖는 모든 데이터 값을 지원합니다. 최대 정밀도 38을 초과하는 데이터는 반올림을 수행합니다.

아래는 입력된 데이터가 NUMBER 타입의 정밀도와 스케일에 정의된 값에 따라 실제 데이터베이스에 어떤 형태로 저장되는지 보여줍니다.

입력된 데이터
NUMBER 타입 선언
실제 저장된 데이터

12,345.678

NUMBER

12,345.678

12,345.678

NUMBER(*,3)

12,345.678

12,345.678

NUMBER(8,3)

12,345.678

12,345.678

NUMBER(8,2)

12,345.68

12,345.678

NUMBER(8)

12,346

12,345.678

NUMBER(8,-2)

12,300

12,345.678

NUMBER(3)

입력된 데이터의 자릿수가 정밀도를 초과하여 저장불가

BINARY_FLOAT

BINARY_FLOAT 타입은 실수나 정수를 표현하고, 32비트로 저장하는 단일 정밀도 데이터 타입입니다.

BINARY_FLOAT 타입은 음양으로 절댓값이 1.17549E-38보다 크거나 같고, 3.40282E+38보다 작은 수를 표현할 수 있습니다.

BINARY_FLOAT 타입 특징

  • 특별값인 INF, -INF, NaN(Not A Number)을 지원합니다.

  • 사칙연산을 모두 지원합니다.

  • 비교 연산자를 지원합니다. 단, NaN은 다른 모든 값보다 가장 큰 값으로 취급하고, 서로 다른 NaN과 Na 은 같습니다.

  • 각종 변환함수 및 수학함수를 지원합니다.

BINARY_DOUBLE

BINARY_DOUBLE 타입은 실수나 정수를 표현하고, 64비트로 저장하는 2배 정밀도 데이터 타입입니다.

BINARY_DOUBLE 타입은 음양으로 절댓값이 2.22507485850720E-308보다 크거나 같고, 1.79769313486231E+308보다 작은 수를 표현할 수 있습니다.

BINARY_DOUBLE 타입 특징

  • 특별값인 INF, -INF, NaN(Not A Number)을 지원합니다.

  • 사칙연산을 모두 지원합니다.

  • 비교 연산자를 지원합니다. 단, NaN은 다른 모든 값보다 가장 큰 값으로 취급하고, 서로 다른 NaN과 NaN 은 같습니다.

  • 각종 변환함수 및 수학함수를 지원합니다.

숫자형 타입의 우선순위

Tibero에서는 서로 다른 숫자형 타입을 사용하는 연산에서 각 연산자를 어떤 데이타 타입으로 변환할지를 우선순위에 따라 결정합니다.

세 타입 중에서 BINARY_DOUBLE이 가장 높은 우선순위를 가지고, 다음으로 BINARY_FLOAT, 마지막으로 NUMBER 순 입니다,

  • 연산자 중 하나라도 BINARY_DOUBLE일 경우, 모든 연산자를 BINARY_DOUBLE로 변환합니다.

  • 연산자 중 BINARY_DOUBLE이 없고, 하나라도 BINARY_FLOAT일 경우엔 모든 연산자를 BINA RY_FLOAT으로 변환합니다.

  • BINARY_FLOAT이나 BINARY_DOUBLE이 없는 경우엔 모든 연산자를 NUMBER로 변환합니다.

다른 데이터 타입과의 관계에서는 날짜나 간격형 타입보다는 낮은 우선순위를 가지고, 나머지 모든 타입 보다는 높은 우선순위를 가집니다.


날짜형

날짜형은 시간이나 날짜를 저장하는 데이터 타입입니다. 날짜형에는 DATE 타입, TIME 타입, TIMESTAMP, TIMESTAMP WITH TIME ZONE, TIMESTAMP WITH LOCAL TIME ZONE 타입이 있습니다.

DATE

DATE 타입은 특정 날짜와 초 단위까지의 시간을 표현하는 데이터 타입입니다.

DATE

DATE 타입 특징

  • 연도, 월, 일, 시, 분, 초를 표현할 수 있습니다.

  • 연도는 BC 9,999 ~ AD 9,999까지 표현할 수 있습니다.

  • 시간은 24시간 단위로 표현됩니다.

TIME

TIME 타입은 초 단위 소수점 9자리까지의 특정 시간을 표현하는 데이터 타입입니다.

TIME [(fractional_seconds_precision)]
항목
설명

fractional_seconds_precision

초 단위의 소수점 자릿수

0~9사이의 값 사용 가능(기본값: 6)

TIME 타입 특징

  • 시, 분, 초, 10^-9초를 표현할 수 있습니다.

  • 시간은 24시간 단위로 표현됩니다.

TIMESTAMP

TIMESTAMP 타입은 날짜와 초 단위 소수점 9자리까지의 시간을 모두 표현하는 데이터 타입 입니다.

TIMESTAMP [(fractional_seconds_precision)]
항목
설명

fractional_seconds_precision

초 단위의 소수점 자릿수

0~9사이의 값 사용가능 (기본값: 6)

TIMESTAMP 타입 특징

  • 연도, 월, 일, 시, 분, 초, 10^-9초를 표현할 수 있습니다.

  • 연도는 BC 9,999 ~ AD 9,999까지 표현할 수 있습니다.

  • 시간은 24시간 단위로 표현됩니다.

TIMESTAMP WITH TIME ZONE

TIMESTAMP WITH TIME ZONE 타입은 TIMESTAMP 타입을 확장하여 시간대까지 표현하는 데이터 타입 입니다.

TIMESTAMP [(fractional_seconds_precision)] WITH TIME ZONE
항목
설명

fractional_seconds_precision

초 단위의 소수점 자릿수

0~9 사이의 값 사용가능 (기본값: 6)

TIMESTAMP WITH TIME ZONE 타입 특징

  • 연도, 월, 일, 시, 분, 초, 10^-9초 등은 TIMESTAMP 타입과 동일한 특징을 가집니다.

  • 각 시간 요소들을 UTC(Coordinated Universal Time) 시간으로 정규화해서 저장합니다.

  • 지역 이름이나 오프셋으로 표현된 시간대를 포함하여 저장합니다. (오프셋: 현재 지역의 시간과 UTC 시간과의 차이)

TIMESTAMP WITH LOCAL TIME ZONE

TIMESTAMP WITH LOCAL TIME ZONE 타입은 특정 세션의 시간대에 따라 다르게 시간정보를 표현하는 데이터 타입입니다.

TIMESTAMP [(fractional_seconds_precision)] WITH LOCAL TIME ZONE
항목
설명

fractional_seconds_precision

초 단위의 소수점 자릿수

0~9 사이의 값 사용가능 (기본값: 6)

TIMESTAMP WITH LOCAL TIME ZONE 타입 특징

  • 연도, 월, 일, 시, 분, 초, 10^-9초 등은 TIMESTAMP 타입과 동일한 특징을 가집니다.

  • 각 시간 요소들을 UTC(Coordinated Universal Time) 시간으로 정규화해서 저장합니다.

  • TIMESTAMP WITH TIME ZONE 타입과 달리 지역이름이나 오프셋을 저장하지 않고, 사용자에 의해 조회될 때 세션의 시간대로 자동으로 바뀌어 반환됩니다.

AT TIME ZONE 절을 사용한 TIMEZONE 변환

AT TIME ZONE 절을 사용해 날짜형 데이터 타입의 시간대를 변환할 수 있습니다.

문법

[그림 8. AT TIME ZONE 절을 사용한 TIMEZONE 변환 문법]

구성요소

구성요소
설명

datetime_value_expr

날짜형 데이터 타입 컬럼 혹은 날짜형 데이터 타입의 표현식 가능

현재 TIMESTAMP 혹은 TIMESTAMP WITH TIME ZONE 날짜형 데이터 타입만 허용

DBTIMEZONE

Tibero에 설정된 데이터베이스 시간대를 사용

SESSIONTIMEZONE

현재 세션의 시간대를 사용

time_zone_name

명시한 표준 시간대를 사용

expr

표현식이 유효한 시간대 형식의 문자열인 경우 해당 시간대를 사용

예제

아래는AT TIME ZONE 절에 time_zone_name을 명시하여 시간대 변환하는 예시입니다.

SQL> SELECT TO_TIMESTAMP('20190908','YYYYMMDD') AT TIME ZONE ('UTC') FROM DUAL; 

TO_TIMESTAMP('20190908','YYYYMMDD')ATTIMEZONE('UTC')
-------------------------------------------------------------------------------- 
2019/09/07 15:00:00.000000 UTC


간격형

간격형은 시간이나 날짜 사이의 간격을 저장하는 데이터 타입으로, INTERVAL YEAR TO MONTH 타입, INTERVAL DAY TO SECOND 타입이 있습니다.

INTERVAL YEAR TO MONTH

INTERVAL YEAR TO MONTH 타입은 연도와 월을 이용하여 시간 간격을 표현하는 데이터 타입입니다.

INTERVAL YEAR [(year_precision)] TO MONTH
항목
설명

year_precisionion

연도 단위의 자릿수 (기본값:2)

INTERVAL DAY TO SECOND

INTERVAL DAY TO SECOND 타입은 일, 시, 분, 초를 이용하여 시간 간격을 표현하는 데이터 타입 입니다.

INTERVAL DAY [(day_precision)] TO SECOND [(fractional_seconds_precision)]
항목
설명

day_precisionion

일 단위의 자릿수 (기본값:2)

fractional_seconds_precision

초 단위의 소수점 자릿수

0~9사이의 값 사용가능 (기본값: 6)

대용량 객체형

대용량 객체형은 대용량의 객체를 저장하기 위해 Tibero에서 제공하는 가장 큰 데이터 타입으로, CLOB 타입과 BLOB 타입, XMLTYPE, JSON 타입이 있습니다.

CLOB

CLOB 타입은 LONG 타입을 확장한 데이터 타입 입니다.

CLOB 타입 특징

  • 데이터를 최대 4GB까지 저장할 수 있습니다.

  • 테이블 내에서 하나 이상의 컬럼에 선언할 수 있습니다.

  • 데이터에 접근할 때 LONG 타입과 달리 임의의 위치에서 접근할 수 있습니다.

  • CLOB 타입의 컬럼 값은 같은 테이블의 다른 타입으로 선언된 컬럼 값과 동일한 디스크 블록에 저장되지 않습니다. 디스크 블록 내의 로우는 별도의 디스크 블록에 저장된 CLOB 타입의 포인터만 저장하고 있습니다.

BLOB

BLOB 타입은 LONG RAW 타입을 확장한 데이터 타입이며, 특징은 CLOB 타입과 유사합니다.

BLOB 타입 특징

  • 데이터를 최대 4GB까지 저장할 수 있습니다.

  • 테이블 내에서 하나 이상의 컬럼에 선언할 수 있습니다.

  • 데이터에 접근할 때 LONG RAW 타입과 달리 임의의 위치에서 접근할 수 있습니다.

  • BLOB 타입의 컬럼 값은 같은 테이블의 다른 타입으로 선언된 컬럼 값과 동일한 디스크 블록에 저장되지 않습니다. 디스크 블록 내의 로우는 별도의 디스크 블록에 저장된 CLOB 타입의 포인터만 저장하고 있습니다.

XMLTYPE

XML(Extensible Markup Language)은 구조화되거나 그렇지 않은 모든 데이터를 표현하기 위해 W3C(World Wide Web Consortium)에 의해 표준으로 제정된 형식입니다.

Tibero에서는 이 XML 데이터를 저장하기 위해 XMLTYPE 타입을 제공하며, 내부적으로 CLOB 형식으로 저장됩니다.

XML 타입 특징

  • 데이터를 CLOB의 최대 크기까지 저장할 수 있습니다.

  • 테이블 내에서 하나 이상의 컬럼에 선언할 수 있습니다.

  • XML 데이터에 대한 접근, 추출, 질의를 수행할 때 사용합니다.

JSON

JSON(JavaScript Object Notation)은 KEY/VALUE 쌍으로 이루어진 데이터 오브젝트를 전달하기 위해 사용하는 개방형 표준 포맷입니다.

Tibero에서는 이 JSON 데이터를 저장 및 처리하기 위해 JSON 타입을 제공하며, 내부적으로 BLOB 형식으로 저장됩니다.

JSON 타입 특징

  • 데이터를 BLOB의 최대 크기까지 저장할 수 있습니다.

  • 테이블 내에서 하나 이상의 컬럼에 선언할 수 있습니다.

  • JSON 데이터에 대한 접근, 추출, 질의를 수행할 때 사용합니다.


내재형

내재형은 사용자가 명시적으로 선언하지 않아도 Tibero가 삽입되는 로우마다 자동으로 부여하는 데이터 타입 입니다.

ROWID

ROWID는 데이터베이스의 각 로우를 식별하기 위해 Tibero가 각 로우마다 자동으로 부여하는 내재형 데이터 타입 으로, 로우가 저장된 물리적인 위치를 포함하고 있습니다.

ROWID에 대한 자세한 내용은 “의사 컬럼” 을 참고합니다.


사용자 정의형

사용자 정의형은 사용자가 정의하여 사용하는 콜렉션 형태의 타입입니다. tbPSM 타입으로 사용 가능하며, Tibero 서버에서 저장됩니다.

사용자 정의형의자세한 내용은 "Tibero tbPSM 안내서"를 참고합니다.

배열

배열는 최대 배열 길이를 가지는 동일한 타입을 구성요소로 갖는 콜렉션 형태의 사용자 정의 타입 입니다.

네스티드 테이블

네스티드 테이블(Nested Table)는 최대 배열 길이가 없는 동일한 타입을 구성요소로 갖는 콜렉션 형태의 사용자 정의 타입 입니다.

Last updated