이진 데이터 타입
이진 데이터 타입#
텍스트, 비디오, 및 공간 데이터 같은 비정형 데이터를 저장하는데 사용된다. Altibase는 다음의 이진 데이터 타입을 지원한다.
- BYTE
- VARBYTE
- NIBBLE
- BIT
- VARBIT
BYTE#
흐름도#
variable_clause::=#
in_row_clause::=#
구문#
BYTE [(size)] [[FIXED |] VARIABLE ( IN ROW size ) ]
설명#
명시된 크기만큼 고정된 길이를 가지는 이진 데이터 타입이다. 정의된 크기보다 짧은 길이의 문자열을 입력하면 입력된 데이터의 오른쪽이 '0'으로 채워진다.
BYTE 칼럼의 기본 크기는 1 바이트이다. 최대 길이는 32000 바이트이다. 데이터는 '0FAE13'과 같이 알파벳과 숫자 문자의 조합을 사용해서 16진수 형식으로 표현 가능하다. 이 때 사용 가능한 문자는 0에서 9까지, A에서 F까지의 문자이다.
BYTE 칼럼에 입력 또는 검색 시 반드시 정의한 크기에 맞추어야 한다. 1바이트에 2개의 문자를 입력할 수 있다. 예를 들어 BYTE(3) 이라고 정의 하였으면 '000000' 부터 'FFFFFF' 까지의 값을 입력할 수 있다.
소문자 'a'부터 'f'를 입력할 경우 대문자로 변환되어 저장된다.
FIXED 와 VARIABLE 절에 대한 자세한 설명은 앞서 기술한 "FIXED/VARIABLE 옵션"과 "IN ROW 절"을 참고한다.
예제#
iSQL> CREATE TABLE T1 (I1 BYTE(1), I2 BYTE(5));
Create success.
iSQL> INSERT INTO T1 VALUES (BYTE'11', BYTE'0011');
1 row inserted.
iSQL> SELECT TO_CHAR(I1), TO_CHAR(I2) FROM T1;
TO_CHAR(I1) TO_CHAR(I2)
-----------------------------
11 0011000000
1 row selected.
VARBYTE#
흐름도#
variable_clause::=#
in_row_clause::=#
구문#
VARBYTE [(size)] [[FIXED |] VARIABLE ( IN ROW size ) ]
설명#
가변 길이를 갖는 이진 데이터 타입이다. VARBYTE 칼럼의 기본 크기는 1바이트이며, 최대 길이는 32000바이트이다.
데이터는 '0FAE13'과 같이 알파벳과 숫자 문자의 조합을 사용해서 16진수 형식으로 표현 가능하다. 이 때 사용 가능한 문자는 0에서 9까지, A에서 F까지의 문자이다.
BYTE 칼럼에 입력 또는 검색 시 반드시 정의한 크기에 맞추어야 한다. 1바이트에 2개의 문자를 입력할 수 있다. 예를 들어 BYTE(3) 이라고 정의 하였으면 '000000' 부터 'FFFFFF' 까지의 값을 입력할 수 있다.
소문자 'a'부터 'f'를 입력할 경우 대문자로 변환되어 저장된다.
FIXED 와 VARIABLE 절에 대한 자세한 설명은 앞서 기술한 "FIXED/VARIABLE 옵션"과 "IN ROW 절"을 참고한다.
예제#
iSQL> CREATE TABLE T1 (I1 VARBYTE(1), I2 VARBYTE(5) );
Create success.
iSQL> INSERT INTO T1 VALUES (VARBYTE'11', VARBYTE'0011');
1 row inserted.
iSQL> SELECT TO_CHAR(I1), TO_CHAR(I2) FROM T1;
TO_CHAR(I1) TO_CHAR(I2)
-----------------------------
11 0011
1 row selected.
NIBBLE#
흐름도#
variable_clause::=#
in_row_clause::=#
구문#
NIBBLE [(size)] [[FIXED |] VARIABLE ( IN ROW size ) ]
설명#
명시된 크기만큼 가변 길이를 가지는 이진 데이터 타입이다.
NIBBLE 칼럼의 기본 크기는 한 개의 문자 크기이며, 최대 254nibbles까지 허용된다.
데이터는 알파벳과 숫자 문자의 조합을 사용해서 16진수 형식으로 표현 가능하다. 이 때 사용 가능한 문자는 0에서 9까지, A에서 F까지의 문자이다. BYTE와 달리 한 nibble에 한 개의 문자만을 입력할 수 있다.
예를 들어 NIBBLE(6) 이라고 정의 하였으면 '000000' 부터 'FFFFFF' 까지 입력할 수 있다.
소문자 'a'부터 'f'를 입력할 경우 대문자로 변환되어 저장된다.
FIXED 와 VARIABLE 절에 대한 자세한 설명은 앞서 기술한 "FIXED/VARIABLE 옵션"과 "IN ROW 절"을 참고한다.
BIT#
흐름도#
variable_clause::=#
in_row_clause::=#
구문#
BIT [(size)] [[FIXED |] VARIABLE ( IN ROW size ) ]
설명#
고정 길이를 갖는 이진 데이터 타입으로, 데이터는 0과 1로만 이루어진다.
BIT 칼럼의 기본 크기는 1 비트이며, 최대 크기는 64000 비트이다.
정의된 크기보다 긴 문자열을 입력할 경우 'Invalid data type length' 에러가 발생한다. 정의된 크기보다 짧은 길이의 문자열을 입력하면 입력 데이터의 오른쪽이 0으로 채워진다. 0과 1 이외의 값이 입력될 경우 'Invalid literal' 에러가 발생한다.
FIXED 와 VARIABLE 절에 대한 자세한 설명은 앞서 기술한 "FIXED/VARIABLE 옵션"과 "IN ROW 절"을 참고한다.
예제#
iSQL> CREATE TABLE T1 ( I1 BIT(1), I2 BIT(5) );
Create success.
iSQL> INSERT INTO T1 VALUES ( BIT'1', BIT'011' );
1 row inserted.
iSQL> SELECT TO_CHAR(I1), TO_CHAR(I2) FROM T1;
TO_CHAR(I1) TO_CHAR(I2)
-----------------------------
1 01100
1 row selected.
iSQL> INSERT INTO T1 VALUES ( BIT'1111', BIT'011' );
[ERR-2100D : Invalid data type length]
iSQL> INSERT INTO T1 VALUES ( BIT'1', BIT'1234' );
[ERR-21011 : Invalid literal]
VARBIT#
흐름도#
variable_clause::=#
in_row_clause::=#
구문#
VARBIT [(size)] [[FIXED |] VARIABLE ( IN ROW size ) ]
설명#
가변 길이를 갖는 이진 데이터 타입으로, 데이터는 0과 1로만 이루어진다.
BIT 칼럼의 기본 크기는 1Bit이며, 최대 크기는 64000비트이다. 정의된 크기보다 긴 문자열을 입력할 경우 'Invalid data type length' 에러가 발생한다.
FIXED 와 VARIABLE 절에 대한 자세한 설명은 앞서 기술한 "FIXED/VARIABLE 옵션"과 "IN ROW 절"을 참고한다.
예제#
iSQL> CREATE TABLE T1 ( I1 VARBIT(1), I2 VARBIT(5) );
Create success.
iSQL> INSERT INTO T1 VALUES ( VARBIT'1', VARBIT'011' );
1 row inserted.
iSQL> SELECT TO_CHAR(I1), TO_CHAR(I2) FROM T1;
TO_CHAR(I1) TO_CHAR(I2)
-----------------------------
1 011
1 row selected.
iSQL> INSERT INTO T1 VALUES ( VARBIT'1111', VARBIT'011' );
[ERR-2100D : Invalid data type length]
iSQL> INSERT INTO T1 VALUES ( VARBIT'1', VARBIT'1234' );
[ERR-21011 : Invalid literal]