강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

데이터 정의 및 타입 - 비트 스트링

작성자 정보

  • 웹관리자 작성
  • 작성일

컨텐츠 정보

본문

sub_title_icon.gif 데이터 정의 및 타입 - 비트 스트링
1. 비트 스트링 데이터 타입의 정의와 특성
1) 정의
비트 스트링은 0과 1로 이루어진 이진 값의 순열(sequence)이다. 컴퓨터 화면에 보여지는 이미지(비트맵)는 비트 스트링으로 저장할 수 있다. CUBRID는 두 가지 비트 스트링을 지원한다.
icon_sub02.gif 고정길이 비트 스트링(BIT)
icon_sub02.gif 가변길이 비트 스트링(BIT VARYING)
메소드의 인자나 속성의 도메인으로 비트 스트링을 사용할 수 있는데, 비트 스트링 리터럴은 이진수 형식이나 16진수 형식을 사용한다. 이진수 형식으로 사용할 때에는 다음 예제에서와 같이 문자 B 뒤에 0과 1로 이루어진 스트링을 붙여 표현한다.
B'0100110010100011'
16진수 형식을 이용하면 같은 수를 표현하는 데 이진수 형식에 비하여 적은 자릿수를 이용할 수 있다. 16진수 형식은 대문자 X 뒤에 0-9 그리고 A-F 문자로 이루어진 스트링을 붙여 표현한다. 예를 들어, 아래는 앞에서 이진수로 표현한 것과 같은 값을 16진수로 나타낸 것이다.
X'4ca3'
16진수에서 사용되는 문자는 대소문자를 구분하지 않는다. 즉, X'4f'와 X'4F'는 같은 값으로 간주된다.
2) 특성
① 길이(Length)
비트 스트링이 테이블 속성이나 메소드 선언에 사용될 때에는 최대 길이를 표시해야 한다. 비트 스트링이 가질 수 있는 최대 길이는 1,073,741,823비트이다.
② 비트 스트링의 변환(Bit String Coercion)
고정길이와 가변길이 비트 스트링 간에는 서로 비교를 위하여 자동 변환이 이루어진다. 명시적인 변환은 CAST 연산자를 이용해야 한다.
2. BIT(n)
고정길이 이진수 혹은 16진수 비트 스트링은 BIT(n)로 나타내는데, 여기서 n은 최대 비트의 개수를 나타낸다. 만약, n이 생략되면 길이는 1로 지정된다.
1) 참고 사항
icon_sub02.gif n은 0보다 큰 숫자여야 한다.
icon_sub02.gif 스트링의 크기가 n을 넘어설 경우에는 오류로 처리된다.
icon_sub02.gif n보다 작은 비트 스트링이 저장될 때에는 나머지 오른쪽 부분이 0으로 채워진다.
2) 예제
BIT(8)에 B'0001'을 지정하면 B'00010000'(또는 X'10')가 저장됨(나머지 부분이 0으로 채워짐).
BIT(4)에 X'12c34A'를 지정하면 오류가 발생함(스트링의 크기가 4보다 크기 때문에 오류 발생).
BIT에 X'12c34A'를 지정하면 오류가 발생함(스트링의 크기가 디폴트 값인 1보다 크기 때문에 오류 발생).
3. BIT VARYING(n)
가변길이 비트 스트링은 BIT VARYING(n)으로 나타낸다. 여기서 n은 최대 비트의 개수를 나타낸다. 만약, n이 생략되면 길이는 1,073,741,823로 지정된다.
1) 참고 사항
icon_sub02.gif 스트링의 크기가 n을 넘어설 경우에는 오류로 처리된다.
icon_sub02.gif n은 0보다 큰 숫자여야 한다.
icon_sub02.gif n보다 작은 비트 스트링이 저장될 때에도 나머지 부분이 0으로 채워지지 않는다.
2) 예제
BIT VARYING(8)에 B'0001'을 지정하면 B'0001'(또는 X'1')이 저장됨(나머지 부분이 0으로 채워지지 않음).
BIT VARYING(4)에 X'12c34A'를 지정하면 오류 발생함(스트링의 크기가 4보다 크기 때문에 오류 발생).
BIT VARYING에 X'12c34A'를 지정하면 X'12c34A'이 저장됨(n이 생략되면 최대 길이는 디폴트 값인 1,073,741,823로 지정되고 저장 시 나머지 부분은 채워지지 않음).

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,037 명
  • 현재 강좌수 :  35,810 개
  • 현재 접속자 :  88 명