MySQL에서 SELECT 문으로 데이터를 조회할 때 각 값의 끝에 백분율(%) 기호를 붙이려면 CONCAT() 함수를 사용하면 됩니다. CONCAT 함수는 여러 문자열을 하나로 연결해 주는 역할을 하며, 숫자 값 뒤에 '%' 문자를 이어 붙여 손쉽게 퍼센트 형태로 표시할 수 있습니다.
1. 예제 테이블 생성
먼저 실습에 사용할 테이블을 만들어 보겠습니다.
mysql> create table DemoTable
(
StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,
StudentName varchar(100),
StudentScore int
);
Query OK, 0 rows affected (0.68 sec)위 쿼리는 학생 ID, 이름, 점수를 저장하는 DemoTable을 생성합니다. StudentId는 자동 증가(AUTO_INCREMENT)되는 기본 키로 설정했습니다.
2. 샘플 데이터 삽입
INSERT 명령을 사용해 몇 개의 레코드를 추가합니다.
mysql> insert into DemoTable(StudentName,StudentScore) values('John',65);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable(StudentName,StudentScore) values('Chris',98);
Query OK, 1 row affected (0.30 sec)
mysql> insert into DemoTable(StudentName,StudentScore) values('Robert',91);
Query OK, 1 row affected (0.09 sec)3. 저장된 데이터 확인
SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.
mysql> select *from DemoTable;
실행 결과는 다음과 같습니다.
+-----------+-------------+--------------+ | StudentId | StudentName | StudentScore | +-----------+-------------+--------------+ | 1 | John | 65 | | 2 | Chris | 98 | | 3 | Robert | 91 | +-----------+-------------+--------------+ 3 rows in set (0.00 sec)
현재 StudentScore 컬럼에는 단순히 숫자만 저장되어 있는 것을 확인할 수 있습니다.
4. CONCAT() 함수로 백분율(%) 기호 붙이기
이제 SELECT 문에서 CONCAT() 함수를 활용해 각 점수 값의 끝에 백분율(%) 기호를 붙여보겠습니다.
mysql> select StudentId,StudentName,concat(StudentScore,'%') AS StudentScore from DemoTable;
실행 결과는 다음과 같습니다.
+-----------+-------------+--------------+ | StudentId | StudentName | StudentScore | +-----------+-------------+--------------+ | 1 | John | 65% | | 2 | Chris | 98% | | 3 | Robert | 91% | +-----------+-------------+--------------+ 3 rows in set (0.00 sec)
쿼리 설명
concat(StudentScore,'%')는 StudentScore 값과 '%' 문자열을 연결합니다. AS StudentScore를 사용해 별칭(alias)을 지정했기 때문에 결과 집합에서도 원래 컬럼명 그대로 표시됩니다. 이처럼 실제 테이블의 데이터를 변경하지 않고도 조회 결과만 원하는 형식으로 가공할 수 있다는 것이 CONCAT() 함수의 장점입니다.
참고로 소수점 아래 특정 자릿수까지 표시하고 싶다면 FORMAT(StudentScore, 1)과 같은 함수를 CONCAT과 함께 조합하여 사용할 수도 있습니다.