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

MySQL 결과 테이블에 사용자 정의 변수 값 표시하는 방법

MySQL에서 사용자 정의 변수를 결과 테이블에 표시하려면 @ 기호로 변수를 선언하고, concat_ws() 함수를 활용하여 여러 컬럼의 값을 하나로 연결해 출력할 수 있습니다.

1. 샘플 테이블 생성

먼저 학생 이름 정보를 저장할 테이블을 생성합니다.

mysql> create table DemoTable1508
    -> (
    -> StudentFirstName varchar(20),
    -> StudentLastName varchar(20)
    -> );
Query OK, 0 rows affected (0.55 sec)

2. 데이터 삽입

INSERT 명령어를 사용해 몇 개의 레코드를 추가합니다.

mysql> insert into DemoTable1508 values('Chris','Brown');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable1508 values('David','Miller');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable1508 values('John','Doe');
Query OK, 1 row affected (0.15 sec)

3. 전체 레코드 조회

SELECT 문으로 테이블에 저장된 모든 레코드를 확인합니다.

mysql> select * from DemoTable1508;

위 쿼리는 다음과 같은 결과를 출력합니다.

+------------------+-----------------+
| StudentFirstName | StudentLastName |
+------------------+-----------------+
| Chris            |           Brown |
| David            |          Miller |
| John             |             Doe |
+------------------+-----------------+
3 rows in set (0.00 sec)

4. 사용자 정의 변수로 연결된 값 표시하기

이제 @ 기호를 사용해 사용자 정의 변수를 선언하고, concat_ws() 함수로 이름과 성을 하이픈(-)으로 연결하여 결과 테이블에 표시하는 쿼리입니다.

mysql> select @FullName:=concat_ws('-',StudentFirstName,StudentLastName) from DemoTable1508;

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

+------------------------------------------------------------+
| @FullName:=concat_ws('-',StudentFirstName,StudentLastName) |
+------------------------------------------------------------+
| Chris-Brown                                                |
| David-Miller                                               |
| John-Doe                                                   |
+------------------------------------------------------------+
3 rows in set (0.03 sec)

핵심 포인트 정리

  • @변수명 := 값 형태로 SELECT 문 안에서 직접 사용자 정의 변수에 값을 할당할 수 있습니다.
  • concat_ws() 함수의 첫 번째 인자는 구분자(separator)이며, 이후 인자들을 해당 구분자로 연결합니다. NULL 값은 자동으로 무시됩니다.
  • 이 방식을 활용하면 여러 컬럼을 조합한 새로운 값을 별도의 컬럼 없이 간편하게 확인할 수 있습니다.