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

MySQL에서 모든 열의 길이를 구해 단일 새 열로 표시하는 방법

모든 열의 길이, 즉 열 값에 포함된 전체 문자 수를 구하려면 MySQL의 char_length() 함수를 사용하면 됩니다. 이 함수는 문자열의 문자 개수를 반환하며, concat() 함수와 함께 사용하면 여러 열의 값을 하나로 연결한 뒤 전체 길이를 한 번에 계산할 수 있습니다.

1. 테이블 생성하기

먼저 예제에 사용할 테이블을 만들어 보겠습니다. 여기서는 FirstName과 LastName 두 개의 열이 있으며, 각 행마다 두 값의 길이를 합산한 결과를 구할 것입니다.

mysql> create table DemoTable
(
    FirstName varchar(100),
    LastName varchar(100)
);
Query OK, 0 rows affected (1.07 sec)

2. 데이터 삽입하기

insert 명령을 사용해 테이블에 몇 개의 레코드를 추가합니다.

mysql> insert into DemoTable values('Chris','Brown');
Query OK, 1 row affected (0.20 sec)
mysql> insert into DemoTable values('David','Miller');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable values('Carol','Taylor');
Query OK, 1 row affected (0.14 sec)

3. 저장된 데이터 확인하기

select 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable;

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

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Chris     | Brown    |
| David     | Miller   |
| Carol     | Taylor   |
+-----------+----------+
3 rows in set (0.00 sec)

4. 모든 열의 길이를 하나의 새 열로 출력하는 쿼리

다음은 char_length()와 concat()을 조합하여 각 행의 FirstName과 LastName 길이를 합산해 구하는 쿼리입니다. 별칭(Alias)을 지정하면 결과 열의 이름도 더 직관적으로 표시할 수 있습니다.

mysql> select char_length(concat(FirstName,LastName)) AS TotalLength from DemoTable;

실행 결과는 다음과 같습니다.

+-------------+
| TotalLength |
+-------------+
|          10 |
|          11 |
|          11 |
+-------------+
3 rows in set (0.00 sec)

결과를 보면 'ChrisBrown'은 10자, 'DavidMiller'와 'CarolTaylor'는 각각 11자로 계산되어 단일 새 열(TotalLength)에 표시됩니다. 이처럼 char_length()와 concat()을 조합하면 여러 열의 길이를 손쉽게 합산하여 하나의 열로 확인할 수 있습니다.