Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL에서 특정 열에 저장된 텍스트 크기 확인하는 방법 – LENGTH() 함수 완벽 가이드

MySQL에서 특정 열(Column)에 저장된 텍스트의 크기를 확인해야 할 때가 있습니다. 이럴 때 LENGTH() 함수를 사용하면 해당 열에 저장된 문자열의 바이트 크기를 손쉽게 구할 수 있습니다.

1. 테이블 생성하기

먼저 예제로 사용할 테이블을 생성해 보겠습니다. 여기서는 고객 이름을 저장하기 위해 LONGTEXT 타입의 열을 만들었습니다.

mysql> create table DemoTable
    (
    CustomerName longtext
    );
Query OK, 0 rows affected (0.67 sec)

2. 데이터 삽입하기

INSERT 명령을 사용하여 테이블에 레코드를 추가합니다.

mysql> insert into DemoTable values('Robert');
Query OK, 1 row affected (0.14 sec)

3. 저장된 데이터 조회하기

SELECT 문으로 테이블의 모든 레코드를 확인합니다.

mysql> select *from DemoTable;

위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.

+--------------+
| CustomerName |
+--------------+
| Robert       |
+--------------+
1 row in set (0.00 sec)

4. LENGTH() 함수로 텍스트 크기 확인하기

이제 특정 열에 저장된 텍스트의 크기를 구하는 쿼리입니다. LENGTH() 함수 안에 확인하고자 하는 열 이름을 넣어주면 됩니다.

mysql> select length(CustomerName) from DemoTable;

실행 결과는 다음과 같습니다. 'Robert'는 6개의 문자로 이루어져 있으므로 크기가 6으로 표시됩니다.

+----------------------+
| length(CustomerName) |
+----------------------+
| 6                    |
+----------------------+
1 row in set (0.01 sec)

참고: LENGTH()와 CHAR_LENGTH()의 차이

주의할 점은 LENGTH() 함수가 반환하는 값은 문자 수가 아닌 바이트 수라는 것입니다. 영문 알파벳은 1바이트로 처리되지만, 한글이나 특수문자 등 멀티바이트 문자는 2~3바이트로 계산됩니다.

예를 들어 UTF-8 환경에서 '홍길동'을 저장한 경우 LENGTH()는 9를 반환하지만, 순수하게 문자 개수만 알고 싶다면 CHAR_LENGTH() 함수를 사용하는 것이 좋습니다. CHAR_LENGTH()는 인코딩과 무관하게 실제 문자 수를 반환합니다.

mysql> select char_length(CustomerName) from DemoTable;

이처럼 LENGTH() 함수를 활용하면 열에 저장된 텍스트의 실제 저장 크기를 간편하게 파악할 수 있으며, 데이터 용량 분석이나 입력값 길이 검증 등 다양한 상황에서 유용하게 사용됩니다.