MySQL에서 숫자 데이터에 천 단위 구분 기호(콤마)를 표시하려면 FORMAT() 함수를 사용하면 됩니다. 이 함수는 숫자를 지정한 소수점 자릿수로 반올림하고, 세 자리마다 콤마를 자동으로 삽입하여 가독성이 좋은 형태로 반환합니다.
아래에서 실제 예제를 통해 FORMAT() 함수의 사용 방법을 단계별로 살펴보겠습니다.
1단계: 테이블 생성하기
먼저 금액(Amount) 값을 저장할 데모 테이블을 생성합니다.
mysql> create table DemoTable
-> (
-> Amount DECIMAL(10,2)
-> );
Query OK, 0 rows affected (0.45 sec)
DECIMAL(10,2) 타입은 전체 10자리 중 소수점 둘째 자리까지 정확하게 저장할 수 있어 금액 데이터에 적합합니다.
2단계: 데이터 삽입하기
INSERT 명령을 사용해 몇 개의 레코드를 테이블에 추가합니다.
mysql> insert into DemoTable values(84848757.60);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(95868685.50);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values(4242342.36);
Query OK, 1 row affected (0.21 sec)
3단계: 저장된 데이터 확인하기
SELECT 문으로 테이블의 모든 레코드를 조회합니다.
mysql> select *from DemoTable;
출력 결과
+-------------+
| Amount |
+-------------+
| 84848757.60 |
| 95868685.50 |
| 4242342.36 |
+-------------+
3 rows in set (0.00 sec)
현재는 숫자가 콤마 없이 그대로 출력되고 있습니다.
4단계: FORMAT() 함수로 천 단위 구분 기호 적용하기
다음 쿼리처럼 FORMAT() 함수를 사용하면 숫자에 천 단위 구분 기호가 자동으로 추가됩니다. 두 번째 인자인 '2'는 소수점 아래 둘째 자리까지 표시하겠다는 의미입니다.
mysql> select format(Amount,2) from DemoTable;
출력 결과
+------------------+
| format(Amount,2) |
+------------------+
| 84,848,757.60 |
| 95,868,685.50 |
| 4,242,342.36 |
+------------------+
3 rows in set (0.00 sec)
실행 결과를 보면 각 숫자에 세 자리마다 콤마가 삽입되어 훨씬 읽기 쉬운 형태로 변환된 것을 확인할 수 있습니다.
FORMAT() 함수 정리
FORMAT() 함수의 기본 문법은 다음과 같습니다.
FORMAT(숫자, 소수점_자릿수)
- 첫 번째 인자: 포맷을 적용할 숫자 또는 컬럼명
- 두 번째 인자: 표시할 소수점 자릿수 (지정한 자릿수로 반올림됨)
참고로 FORMAT() 함수는 반환 결과를 문자열로 처리하므로, 화면 출력이나 보고서 작성 용도로 활용하기에 적합합니다. 반면 계산이 필요한 경우에는 원본 숫자 데이터를 그대로 사용하는 것이 좋습니다.