MySQL 테이블의 열에 BIT_LENGTH() 함수를 적용하면, 해당 열에 저장된 문자열의 비트(bit) 수를 반환합니다. 이 함수는 문자열 길이를 바이트가 아닌 비트 단위로 측정하며, 1바이트는 8비트이므로 일반적인 영문자 한 글자당 8비트로 계산됩니다.
예제
'Student' 테이블에서 'Name' 열과 'Address' 열에 저장된 문자열의 비트 길이를 확인하고 싶다면, 다음과 같은 쿼리를 작성할 수 있습니다.
mysql> Select Name, Address, BIT_LENGTH(Name) As 'Name in Bits', BIT_LENGTH(Address) AS 'Address in Bits' from Student; +---------+---------+--------------+-----------------+ | Name | Address | Name in Bits | Address in Bits | +---------+---------+--------------+-----------------+ | Gaurav | Delhi | 48 | 40 | | Aarav | Mumbai | 40 | 48 | | Harshit | Delhi | 56 | 40 | | Gaurav | Jaipur | 48 | 48 | +---------+---------+--------------+-----------------+ 4 rows in set (0.00 sec)
결과 해석
출력 결과를 살펴보면 계산 방식을 쉽게 이해할 수 있습니다. 예를 들어 'Gaurav'는 6글자 × 8비트 = 48비트, 'Delhi'는 5글자 × 8비트 = 40비트로 반환되었습니다. 마찬가지로 'Harshit'은 7글자이므로 56비트가 됩니다.
이처럼 BIT_LENGTH() 함수는 CHAR_LENGTH()(문자 수)나 LENGTH()(바이트 수)와 달리 문자열의 길이를 비트 단위로 반환한다는 점이 특징입니다. 특히 멀티바이트 문자셋(예: UTF-8)을 사용하는 환경에서는 한 글자가 여러 바이트를 차지할 수 있으므로, 실제 저장 공간을 비트 수준으로 정확히 파악하고 싶을 때 유용하게 활용할 수 있습니다.