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

MySQL에서 FORMAT() 함수로 USD 통화를 올바른 형식으로 표시하는 방법

MySQL에서 USD 통화 형식으로 데이터 표시하기

MySQL에서는 FORMAT() 함수와 CONCAT() 함수를 함께 사용하면 숫자로 저장된 금액을 'USD 1,000,000,000.00'처럼 읽기 쉬운 통화 형식으로 손쉽게 변환할 수 있습니다.

FORMAT(값, 소수점 자릿수) 함수는 지정한 자릿수만큼 반올림하고, 천 단위마다 쉼표(,)를 자동으로 삽입해 줍니다. 여기에 CONCAT()으로 접두사 'USD '를 붙이면 완성된 통화 문자열을 얻을 수 있습니다.

1단계: 테이블 생성

먼저 금액을 저장할 테이블을 생성합니다. 금액 컬럼은 정확한 계산을 위해 DECIMAL 타입으로 선언하는 것이 좋습니다.

mysql> create table DemoTable
-> (
-> Amount DECIMAL(15,4)
-> );
Query OK, 0 rows affected (0.75 sec)

2단계: 샘플 데이터 삽입

INSERT 문을 사용해 몇 개의 레코드를 추가합니다.

mysql> insert into DemoTable values(90948484);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(1000000000);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values(1535353536);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable values(773646463);
Query OK, 1 row affected (0.20 sec)

3단계: 원본 데이터 확인

SELECT 문으로 테이블의 모든 레코드를 조회하면 아래와 같이 소수점 네 자리까지 그대로 출력됩니다.

mysql> select *from DemoTable;
+-----------------+
| Amount |
+-----------------+
| 90948484.0000 |
| 1000000000.0000 |
| 1535353536.0000 |
| 773646463.0000 |
+-----------------+
4 rows in set (0.00 sec)

4단계: FORMAT() 함수로 통화 형식 적용

이제 FORMAT() 함수에 소수점 두 자리를 지정하고, CONCAT()으로 'USD ' 접두사를 붙여 통화 형식으로 표시해 보겠습니다.

mysql> select concat('USD ',format(Amount,2)) as Currency from DemoTable;

실행 결과, 금액이 천 단위 쉼표와 소수점 두 자리를 갖춘 올바른 USD 통화 형식으로 출력됩니다.

+----------------------+
| Currency |
+----------------------+
| USD 90,948,484.00 |
| USD 1,000,000,000.00 |
| USD 1,535,353,536.00 |
| USD 773,646,463.00 |
+----------------------+
4 rows in set (0.23 sec)

참고 사항

FORMAT() 함수는 세 번째 인수로 로케일(locale)을 전달할 수도 있습니다. 예를 들어 FORMAT(Amount, 2, 'en_US')처럼 사용하면 해당 지역의 숫자 형식 규칙에 따라 구분 기호가 적용되므로, 다국어 서비스에서 유용하게 활용할 수 있습니다.