Database ( DB )/Database
[MySQL] 문자열 길이 가져오기(length, char_length 함수)
노루아부지
2021. 5. 16. 20:59
반응형
일반적으로 query를 하거나, 프로그램 개발을 하다보면 문자열의 길이를 구해야 하는 경우가 생각보다 많습니다.
MySQL의 경우 문자열의 길이를 가져올 때 사용하는 함수는 LENGTH함수입니다.
하지만 테스트로 LENGTH('abcde')를 실행해보고 결과값이 5가 나왔다고 프로그램에 적용해 버리면 차후 문제가 발생할 수 있습니다.
그 이유는 length가 문자열의 자릿수가 아니라 문자열의 Byte 길이를 가져오기 때문입니다. 그렇기 때문에 문자열의 길이를 알기 위해서는 CHAR_LENGTH를 사용해야 합니다.
(왜 한글은 1byte가 아닌 것인가)
참조 : mysql 공식 문자열 함수 메뉴얼
예제 쿼리(Example query)
1) LENGTH(영어)
SELECT LENGTH('ABCDE');
결과: 5
2) LENGTH(한글)
SELECT LENGTH('안녕');
결과: 6
3) CHAR_LENGTH(영어)
SELECT CHAR_LENGTH('ABCDE');
결과: 5
4) CHAR_LENGTH(한글)
SELECT CHAR_LENGTH('안녕');
결과: 2
728x90
반응형