MySQL에서 특정 조건에 따라 열 값 앞에 유로(€) 또는 달러($) 기호를 추가하려면 CASE 문과 UPDATE 명령어를 함께 사용하면 됩니다. 아래 예제를 통해 단계별로 살펴보겠습니다.
1. 테이블 생성
먼저 데모용 테이블을 생성합니다.
mysql> create table DemoTable1874
(
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Amount varchar(100)
);
Query OK, 0 rows affected (0.00 sec)
2. 레코드 삽입
INSERT 명령어를 사용해 몇 개의 레코드를 추가합니다.
mysql> insert into DemoTable1874(Amount) values('3450');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1874(Amount) values('190');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1874(Amount) values('7600');
Query OK, 1 row affected (0.00 sec)
mysql> insert into DemoTable1874(Amount) values('4500');
Query OK, 1 row affected (0.00 sec)3. 데이터 확인
SELECT 문으로 테이블의 전체 레코드를 조회합니다.
mysql> select * from DemoTable1874;
실행 결과는 다음과 같습니다.
+----+--------+
| Id | Amount |
+----+--------+
| 1 | 3450 |
| 2 | 190 |
| 3 | 7600 |
| 4 | 4500 |
+----+--------+
4 rows in set (0.00 sec)
4. 통화 기호 추가하기
다음은 CASE 문과 UPDATE 명령어를 사용해 Id 값에 따라 달러($) 또는 유로(€) 기호를 Amount 열 앞에 붙이는 쿼리입니다.
mysql> UPDATE DemoTable1874 SET Amount=
CASE
WHEN Id = 1 THEN Concat('$','',Amount)
WHEN Id = 3 THEN Concat('€','',Amount)
else
Amount
END
;
Query OK, 2 rows affected (0.00 sec)
Rows matched: 4 Changed: 2 Warnings: 0
위 쿼리의 동작 방식은 다음과 같습니다.
- Id가 1인 행에는 CONCAT 함수로 '$' 기호를 금액 앞에 연결합니다.
- Id가 3인 행에는 '€' 기호를 금액 앞에 연결합니다.
- 그 외의 행은 원래 값을 그대로 유지합니다.
5. 최종 결과 확인
업데이트 후 테이블을 다시 조회해 보겠습니다.
mysql> select * from DemoTable1874;
실행 결과는 다음과 같습니다.
+----+---------+
| Id | Amount |
+----+---------+
| 1 | $3450 |
| 2 | 190 |
| 3 | €7600 |
| 4 | 4500 |
+----+---------+
4 rows in set (0.00 sec)
이처럼 CASE 문과 CONCAT 함수를 활용하면 조건에 따라 원하는 통화 기호를 손쉽게 추가할 수 있습니다. 참고로 실무에서는 화폐 기호를 데이터에 직접 저장하기보다는 숫자만 저장하고 화면 출력 시 포맷팅하는 방식을 권장하지만, 기존 데이터를 일괄 수정해야 할 때 이 방법이 유용하게 사용됩니다.