BIT_LENGTH 함수는 문자열 또는 비트열의 길이(bit)를 정수값으로 반환한다. 단, 문자열의 경우 데이터 입력 환경의 문자 세트(character set)에 따라 한 문자가 차지하는 바이트 수가 다르므로, BIT_LENGTH 함수의 리턴 값 역시 문자 세트에 따라 다를 수 있다(예: EUC-KR: 2*8 bits). CUBRID가 지원하는 문자 세트에 관한 상세한 설명은 문자열 데이터 타입을 참고한다.
BIT_LENGTH ( string )
string :
• bit string
• character string
• NULL
SELECT BIT_LENGTH('');
bit_length('')
=================
0
SELECT BIT_LENGTH('CUBRID');
bit_length('CUBRID')
=======================
48
SELECT BIT_LENGTH('큐브리드');
bit_length('큐브리드')
=========================
64
SELECT BIT_LENGTH(B'010101010');
bit_length(B'010101010')
===========================
9
CREATE TABLE bit_length_tbl (char_1 CHAR, char_2 CHAR(5), varchar_1 VARCHAR, bit_var_1 BIT VARYING);
INSERT INTO bit_length_tbl VALUES('', '', '', B''); --Length of empty string
INSERT INTO bit_length_tbl VALUES('a', 'a', 'a', B'010101010'); --English character
INSERT INTO bit_length_tbl VALUES(NULL, '큐', '큐', B'010101010'); --Korean character and NULL
INSERT INTO bit_length_tbl VALUES(' ', ' 큐', ' 큐', B'010101010'); --Korean character and space
SELECT BIT_LENGTH(char_1), BIT_LENGTH(char_2), BIT_LENGTH(varchar_1), BIT_LENGTH(bit_var_1) FROM bit_length_tbl;
bit_length(char_1) bit_length(char_2) bit_length(varchar_1) bit_length(bit_var_1)
================================================================================
8 40 0 0
8 40 8 9
NULL 40 16 9
8 40 24 9