MySQL에서 문자열의 길이를 비트(bit) 단위로 확인해야 할 때 BIT_LENGTH() 문자열 함수를 사용할 수 있습니다. 이 함수는 문자열이 실제로 몇 비트를 차지하는지 알려주기 때문에, 데이터 저장 크기를 계산하거나 바이트 기반 길이 함수와 비교할 때 유용하게 활용됩니다.
함수의 기본 문법은 다음과 같습니다.
BIT_LENGTH(Str)
여기서 Str은 BIT_LENGTH 값을 구하고자 하는 대상 문자열을 의미하는 인수입니다. 인수로는 일반 문자열뿐 아니라 숫자열도 전달할 수 있으며, 문자열을 전달할 경우에는 반드시 따옴표('')로 감싸야 합니다.
참고로 BIT_LENGTH() 함수는 한 문자를 8비트로 계산하므로, 문자 개수를 세는 CHAR_LENGTH() 함수의 반환값에 8을 곱한 것과 같은 결과를 얻게 됩니다.
사용 예제
다음은 문자열 'tutorialspoint'의 비트 길이를 구하는 예제입니다.
mysql> Select BIT_LENGTH('tutorialspoint');
+------------------------------+
| BIT_LENGTH('tutorialspoint') |
+------------------------------+
| 112 |
+------------------------------+
1 row in set (0.00 sec)'tutorialspoint'는 총 14개의 문자로 이루어져 있고, 각 문자가 8비트이므로 14 × 8 = 112비트가 반환됩니다.
이번에는 숫자열을 인수로 전달해 보겠습니다.
mysql> Select BIT_LENGTH(2365489); +---------------------+ | BIT_LENGTH(2365489) | +---------------------+ | 56 | +---------------------+ 1 row in set (0.00 sec)
숫자 2365489는 7자리이므로 7 × 8 = 56비트가 반환되는 것을 확인할 수 있습니다.