데이터 베이스
[MySQL] 문자열 함수, 'LENGTH( )'와 'CHAR_LENGTH( )'의 차이
ImKDM
2022. 3. 28. 21:27
728x90

LENGTH 는 문자열의 '바이트 길이'를 가져오는 함수이다.
한글은 한 글자를 표현하기 위해서 3 byte 를 사용하기 때문에, LENGTH 함수로 읽으면 한 글자당 3 을 출력한다.
따라서 LENGTH 로 '안녕' 을 읽으면 6 이 출력된다.
반대로 영어는 한 글자가 1 byte 이라서 알파벳 개수만큼 출력된다.
SELECT LENGTH('안녕'); -- 6
SELECT LENGTH('abcd'); -- 4
CHAR_LENGTH 는 문자열의 길이를 가져오는 함수이다.
문자의 byte 수를 계산하기 않고 단순히 몇 개의 문자가 있는지를 가져오는 함수이다.
따라서 문자열의 길이를 알기 위해서는 CHAR_LENGTH 를 사용하는 것이 좋다.
SELECT CHAR_LENGTH('안녕'); -- 2
SELECT CHAR_LENGTH('abcd'); -- 4