비트 문자열이란 1과 0으로 구성된 문자열이다. 이것은 비트 마스크 저장과 출력에 유용하게 사용된다. 이 자료형으로는 bit(n) 또는 bit varying(n) 형태로 사용할 수 있으며, n 값으로 양수를 사용한다.
bit 자료형으로 사용하는 자료의 길이는 n 값과 정확히 맞아야한다; 만일 그 자료의 길이가 크거나 작으면 오류가 생긴다. bit varying 자료형으로 사용하는 자료의 길이는 n 값이 최대 길이이다; 작으면 괜찮고, 크면 오류가 생긴다. 길이값을 지정하지 않고, bit 만으로 지정하면, bit(1) 형태로 사용되며, bit varying 만으로 지정하면, 길이 제한이 없는 형태로 사용된다.
참고: 비트 자료형으로 바꾸고자 할 때, bit(n) 형태를 사용하게 되면, n 길이 만큼 잘리거나, 0으로 채워지면서 변환되며, bit varying(n) 형태를 사용하게 되면, n 길이보다 클 경우는 잘리고, 작을 경우는 원래 자료형의 변환된 길이만큼으로 변환된다.
비트 문자열 구문에 대한 정보는 4.1.2.5절을 참조하고, 비트 연산, 관련 함수는 9.6절을 참고하시라.
예 8-7. 비트 문자열 자료형 사용하기
CREATE TABLE test (a BIT(3), b BIT VARYING(5)); INSERT INTO test VALUES (B'101', B'00'); INSERT INTO test VALUES (B'10', B'101'); 오류: 길이가 2인 비트 문자열 자료는 bit(3) 자료형의 길이와 일치하지 않습니다 INSERT INTO test VALUES (B'10'::bit(3), B'101'); SELECT * FROM test; a | b -----+----- 101 | 00 100 | 101
A bit string value requires 1 byte for each group of 8 bits, plus 5 or 8 bytes overhead depending on the length of the string (but long values may be compressed or moved out-of-line, as explained in 8.3절 for character strings).