LENGTH()
: Byte 길이를 가져옴 (한글은 정확히 길이를 알 수 없음)CHAR_LENGTH()
: Byte 수를 계산하지 않고 단순히 몇 개의 문자가 있는지 가져옴# Schema : test
# Table : actor
| name |
+---------+
| 유재석 |
| changmo |
아래와 같이 LENGTH()
는 Byte길이를 가져오기 때문에 영어로 된 값은 제대로 읽어오지만 한글로 된 값은 정확히 읽어오지 못한다.
-- Example1
SELECT LENGTH(name)
FROM test.actor;
/*
result
'유재석' -> 9
'changme' -> 7
*/
CHAR_LENGTH()
는 단순의 문자의 길이를 알려주기 때문에 한글로 된 값이 존재한다면 CHAR_LENGTH()
를 사용해야 정확한 값이 나온다.
SELECT CHAR_LENGTH(name)
FROM test.actor;
/*
result
'유재석' -> 3
'changmo' -> 7
*/