MySQL의 CHAR_LENGTH() 함수는 지정된 문자열의 길이를 반환하는 데 사용됩니다. 이 함수는 단순히 문자의 개수만 세기 때문에, 해당 문자가 싱글 바이트(single-byte)인지 멀티 바이트(multi-byte)인지는 구분하지 않습니다.
또한 MySQL에서는 CHARACTER_LENGTH() 함수가 CHAR_LENGTH() 함수의 동의어(synonym)로 제공됩니다. 즉, 두 함수는 완전히 동일한 기능을 수행하며 어떤 것을 사용해도 결과는 같습니다.
CHAR_LENGTH() 함수 문법
CHAR_LENGTH(Str)
여기서 Str은 길이를 구하고자 하는 문자열입니다.
CHARACTER_LENGTH() 함수 문법
CHARACTER_LENGTH(Str)
마찬가지로 Str은 길이를 구하고자 하는 문자열입니다.
사용 예제
아래 예제는 두 함수에 동일한 문자열 'tutorialspoint'를 입력했을 때의 결과를 보여줍니다. 두 함수 모두 공백을 포함한 문자 수인 14를 동일하게 반환하는 것을 확인할 수 있습니다.
mysql> Select CHAR_LENGTH('tutorialspoint');
+-------------------------------+
| CHAR_LENGTH('tutorialspoint') |
+-------------------------------+
| 14 |
+-------------------------------+
1 row in set (0.03 sec)
mysql> Select CHARACTER_LENGTH('tutorialspoint');
+------------------------------------+
| CHARACTER_LENGTH('tutorialspoint') |
+------------------------------------+
| 14 |
+------------------------------------+
1 row in set (0.00 sec)참고: LENGTH() 함수와의 차이점
CHAR_LENGTH()와 비슷한 이름의 LENGTH() 함수와 혼동하기 쉬운데, LENGTH()는 문자 수가 아닌 바이트 수를 반환합니다. 따라서 한글이나 이모지처럼 멀티 바이트 문자가 포함된 문자열의 경우 두 함수의 결과가 달라질 수 있으므로, 문자 개수를 기준으로 길이를 구하려면 CHAR_LENGTH() 또는 CHARACTER_LENGTH()를 사용하는 것이 올바릅니다.