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

MySQL FORMAT() 함수로 큰 숫자를 읽기 쉬운 형식으로 변환하는 방법

MySQL에서 제공하는 FORMAT() 함수를 사용하면 백만, 십억 단위처럼 자릿수가 큰 숫자도 천 단위마다 콤마(,)가 포함된 읽기 쉬운 형식으로 손쉽게 변환할 수 있습니다.

FORMAT(X, D) 함수는 숫자 X를 소수점 D자리까지 반올림한 뒤, 세 자리마다 콤마를 삽입한 문자열을 반환합니다. 실제 예제를 통해 살펴보겠습니다.

1. 테이블 생성하기

먼저 BIGINT 타입의 컬럼을 가진 테이블을 생성합니다.

mysql> create table DemoTable
    (
    Value BIGINT
    );
Query OK, 0 rows affected (0.74 sec)

2. 데이터 삽입하기

INSERT 명령어를 사용해 큰 숫자 값들을 테이블에 입력합니다.

mysql> insert into DemoTable values(78000000000);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(10000000000);
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values(90000000000);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(450600000000);
Query OK, 1 row affected (0.41 sec)

3. 저장된 데이터 확인하기

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable;

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

+--------------+
| Value        |
+--------------+
| 78000000000  |
| 10000000000  |
| 90000000000  |
| 450600000000 |
+--------------+
4 rows in set (0.00 sec)

숫자가 그대로 출력되다 보니 자릿수를 한눈에 파악하기 어렵습니다.

4. FORMAT() 함수로 숫자 형식 변환하기

이제 FORMAT() 함수를 적용해 숫자를 천 단위 구분 기호가 포함된 형식으로 변환해 보겠습니다.

mysql> select format(Value,0) as `FormatValue` from DemoTable;

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

+-----------------+
| FormatValue     |
+-----------------+
| 78,000,000,000  |
| 10,000,000,000  |
| 90,000,000,000  |
| 450,600,000,000 |
+-----------------+
4 rows in set (0.00 sec)

정리

FORMAT(Value, 0)은 두 번째 인자인 0이 소수점 이하 자릿수를 의미하므로, 정수 형태로 반올림된 값에 콤마가 추가됩니다. 만약 소수점 두 자리까지 표현하고 싶다면 FORMAT(Value, 2)처럼 인자를 변경하면 됩니다.

이처럼 FORMAT() 함수를 활용하면 별도의 애플리케이션 로직 없이도 SQL 쿼리만으로 대용량 숫자 데이터를 가독성 좋게 표시할 수 있어, 리포트나 관리자 화면 등에서 유용하게 사용할 수 있습니다.