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

MySQL에서 열의 모든 값에 대한 문자 길이를 구하는 쿼리 사용법

MySQL에서 열(column)의 모든 값에 대한 문자 길이를 확인하려면 CHAR_LENGTH() 함수를 사용하면 됩니다. 이 함수는 문자열이 몇 개의 문자로 이루어져 있는지를 반환하며, 한글이나 특수문자도 각각 1개의 문자로 계산합니다.

아래 예제를 통해 실제 사용 방법을 단계별로 살펴보겠습니다.

1단계: 테이블 생성

먼저 테이블을 생성합니다.

mysql> create table DemoTable
    -> (
    -> Name varchar(100)
    -> );
Query OK, 0 rows affected (1.04 sec)

2단계: 데이터 삽입

INSERT 명령어를 사용해 테이블에 레코드를 추가합니다.

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

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

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

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

3단계: 전체 레코드 조회

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

mysql> select *from DemoTable;

출력 결과

+--------+
| Name   |
+--------+
| John   |
| Robert |
| Bob    |
| David  |
+--------+
4 rows in set (0.00 sec)

4단계: CHAR_LENGTH()로 문자 길이 조회

이제 CHAR_LENGTH() 함수를 사용하여 Name 열의 각 값에 대한 문자 길이를 조회합니다.

mysql> select char_length(Name) from DemoTable;

출력 결과

+-------------------+
| char_length(Name) |
+-------------------+
| 4                 |
| 6                 |
| 3                 |
| 5                 |
+-------------------+
4 rows in set (0.00 sec)

출력 결과를 보면 'John'은 4, 'Robert'는 6, 'Bob'은 3, 'David'는 5로 각 이름의 실제 문자 수가 정확히 반환된 것을 확인할 수 있습니다.

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

MySQL에는 비슷한 기능의 LENGTH() 함수도 있습니다. 두 함수의 차이는 다음과 같습니다.

  • CHAR_LENGTH(): 문자 개수를 기준으로 길이를 반환합니다. 멀티바이트 문자(한글, 일본어 등)도 1로 계산합니다.
  • LENGTH(): 바이트 수를 기준으로 길이를 반환합니다. UTF-8 환경에서 한글은 한 글자당 3바이트로 계산됩니다.

따라서 영문 데이터만 다룬다면 두 함수의 결과가 같지만, 한글 등 멀티바이트 문자가 포함된 데이터라면 목적에 맞게 함수를 선택하는 것이 중요합니다.