MySQL 세자리 및 천단위 콤마찍기: FORMAT 함수 사용

Wookoa 2024. 5. 2.

MySQL 천 단위 콤마 찍기 및 FORMAT 함수 활용
MySQL 천 단위 콤마 찍기 및 FORMAT 함수 활용

머리말

  PHP를 활용해 웹 페이지를 개발하던 중 숫자 값을 MySQL로부터 리턴 받을 경우가 발생했다. 결과 값을 리턴 받아서 웹 페이지에 정상적으로 표현했는데 숫자 값에 천 단위 구분 콤마가 찍혀있지 않아서 눈에 거슬린다. 당연히 천 단위 구분 콤마를 찍는 방법은 여러 가지 존재한다. 본인의 경우에는 결과 값을 리턴 받아서 JavaScript 함수로 처리할 수 있었겠지만 웹페이지 접속자 장비의 리소스를 최소화해야 하는 상황이었다. 때문에 자원이 많이 여유로운 MySQL에서 천 단위 구분 콤마를 처리하는 방법으로 개발을 진행했다. 이와 같이 서비스 종류와 상황에 따라 다양한 방법 중 적절한 방법을 선택해야 하는데, 본인의 경우 MySQL 서버에서 천 단위를 구분해야 유리한 상황이었다. 본 포스팅에서는 MySQL의 FORMAT 함수를 활용해서 천 단위로 구분하는 방법에 대해서 소개한다.

숫자 값에 천 단위 구분 콤마 찍는 방법

  MySQL에서는 기본적으로 숫자 값에 대한 포맷을 제공한다. 제공되는 함수는 FORMAT 함수로 사용법은 매우 간단하게 소개할 수 있다. FORMAT 함수가 단순하게 천 단위 구분 콤마를 발생시키는 역할로만 알고 있다면 이번 기회에 유용한 함수임을 알아가는 것도 좋을 듯싶다.

  FORMAT 함수는 MySQL 4.0 버전 이상부터 사용할 수 있다. 현제는 MySQL 8.0 이상까지 배포되고 있으며 오라클이 MySQL을 인수한 뒤로 재단에서는 MariaDB 데이터베이스 명칭을 바꾸고 별도로 배포되는 상황이니, 특별히 눈에 띄게 MySQL 버전이 낮은 상황이 아니라면 대다수 지원된다고 판단할 수 있다.

Syntax

FORMAT(number, decimal_places)

  MySQL 매뉴얼에 소개된 사용 방법은 간결하게 소개한다. 첫 번째 파라미터에 포맷을 적용할 문자 값 또는 숫자 칼럼을 지정하고, 두 번째 파라미터에는 소수점 몇 자리까지 표현할지를 지정해 주면 된다. 그렇다면 천 단위 구분 콤마는 어떻게 지정하는지 의문이 생기는데, FORMAT 함수를 적용하게 되면 숫자 값은 자동으로 천 단위 구분 콤마 값으로 변경된다. 따라서 FORMAT 함수를 이용해서 소수점 몇 자리까지 표현할지만 정해주면 원하는 천 단위 구분 콤마를 표현할 수 있게 된다.

  아래의 예시는 WOOKOA 테이블의 TOTAL_VISITOR 칼럼의 값을 소수점 0번째까지 표현하도록 포맷을 지정한 상황이다. 두 번째 파라미터는 0 이상의 숫자만 입력할 수 있다. 예시에 대한 결과를 자세히 보면 좌측 정렬되어 있는 것을 확인할 수 있다. 이는 FORMAT 함수에 대한 리턴 값은 String 문자열로 반환된다는 의미다. 참고해서 잘 기억해 놓으면 문자열을 다시 파싱 한다고 불필요한 작업을 할 필요가 없다.

Example

SELECT FORMAT(TOTAL_VISITOR, 0) FROM WOOKOA;

FORMAT 함수 예시를 수행한 결과
FORMAT 함수 예시를 수행한 결과

꼬리말

  매우 간단한 함수임에도 불구하고 머릿속에 잘 정리해놓지 않으면 막상 기억이 잘 나지 않는다. FORMAT 함수는 숫자 값에 대한 포맷을 지정하지만 문자열에 대한 포맷을 지정하는 함수는 별도로 존재한다. 우선은 본 포스팅에서 설명한 FORMAT 함수에 대해서 잘 정리해서 기억해 놓도록 한다. 물론 모든 문법을 머릿속에 외울 수 없지만 해당 함수의 존재 여부만 알고 있어도 상황에 따라 빠른 판단을 할 수 있기 때문이다.

  여담으로, 자신의 개발 상황에 따라서 어느 장비의 리소스를 사용할지 선택하는 것이 흥미롭다. 일반 사용자가 느끼기엔 동일한 표현되어 큰 차이점을 느낄 수 없지만 상황에 따라 다른 리소스를 활용해 표현되기 때문이다. 본인의 경우 MySQL 리소스가 많이 남았기 때문에 DBMS 트랜젝션을 수행하는 순간에 포맷팅 함수를 사용했지만, 경우에 따라서 자바스크립트로 포맷팅을 수행하는 경우도 많을 것이다. 이로써 MariaDB 서버에서도 사용할 수 있는 천 단위 구분 콤마를 발생시키는 방법에 대해서 소개한 본 포스팅은 이로써 마무리를 짓도록 한다.

인기있는 글

소중한 댓글 (0)