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

MySQL 쿼리로 다른 열의 문자열과 추가 문자열을 연결하는 방법

MySQL에서는 CONCAT() 함수를 사용하여 여러 열(column)의 문자열을 하나로 합칠 수 있습니다. 이번 글에서는 FirstName과 LastName 두 개의 열에 추가 문자열을 붙여 하나의 문자열로 연결하는 방법을 예제와 함께 단계별로 살펴보겠습니다.

1. 테이블 생성

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

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

2. 데이터 삽입

INSERT 명령을 사용하여 테이블에 샘플 레코드를 삽입합니다.

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

3. 전체 데이터 확인

SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable;

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

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

4. CONCAT() 함수로 문자열 연결하기

다음은 CONCAT() 함수를 활용한 문자열 연결 쿼리입니다. FirstName과 LastName을 합치되, 모든 결과 값 앞에 'Hello '라는 추가 문자열도 함께 연결했습니다.

mysql> select concat('Hello ',FirstName,' ',LastName) from DemoTable;

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

+-----------------------------------------+
| concat('Hello ',FirstName,' ',LastName) |
+-----------------------------------------+
| Hello Chris Brown                       |
| Hello Adam Smith                        |
| Hello Carol Taylor                      |
| Hello David Miller                      |
+-----------------------------------------+
4 rows in set (0.00 sec)

참고 사항

CONCAT() 함수는 인수 중 하나라도 NULL이면 전체 결과가 NULL로 반환됩니다. 따라서 NULL이 포함될 가능성이 있는 열을 다룰 때는 CONCAT_WS() 함수나 IFNULL(), COALESCE()를 함께 사용하는 것이 안전합니다. 또한 AS 키워드로 별칭(alias)을 지정하면 결과 컬럼명을 더 읽기 쉽게 표시할 수 있습니다.