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

MySQL에서 곱셈 결과(가격 값) FORMAT() 함수로 형식 지정하기

MySQL에서 두 열의 값을 곱한 결과를 천 단위 구분 기호와 함께 보기 좋게 표시하려면 FORMAT() 함수를 활용하면 됩니다. FORMAT() 함수는 숫자를 지정한 소수점 자릿수로 반올림하고, 천 단위마다 쉼표(,)를 추가해 가독성을 크게 높여 줍니다.

1. 샘플 테이블 생성

먼저 실습에 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
-> (
-> Price decimal(10,4),
-> Rate decimal(10,4)
-> );
Query OK, 0 rows affected (0.96 sec)

Price(가격)와 Rate(요율) 두 열을 decimal(10,4) 타입으로 선언하여 소수점 넷째 자리까지 정확하게 저장할 수 있도록 했습니다.

2. 레코드 삽입

insert 명령을 사용해 테이블에 몇 개의 레코드를 추가합니다.

mysql> insert into DemoTable values(1000,10.2);
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values(2000,20.4);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values(100,5);
Query OK, 1 row affected (0.16 sec)

3. 전체 레코드 조회

select 문으로 테이블에 저장된 모든 데이터를 확인합니다.

mysql> select *from DemoTable;

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

+-----------+---------+
| Price | Rate |
+-----------+---------+
| 1000.0000 | 10.2000 |
| 2000.0000 | 20.4000 |
| 100.0000 | 5.0000 |
+-----------+---------+
3 rows in set (0.00 sec)

4. FORMAT() 함수로 곱셈 결과 형식 지정

다음은 Price와 Rate를 곱한 값을 FORMAT() 함수로 형식화하는 쿼리입니다. 두 번째 인수인 '2'는 소수점 이하 자릿수를 의미합니다.

mysql> select format((Price * Rate),2) from DemoTable;

결과를 확인해 보면 천 단위 쉼표가 자동으로 추가되고, 소수점 둘째 자리까지 깔끔하게 정렬된 것을 볼 수 있습니다.

+--------------------------+
| format((Price * Rate),2) |
+--------------------------+
| 10,200.00 |
| 40,800.00 |
| 500.00 |
+--------------------------+
3 rows in set (0.00 sec)

이처럼 FORMAT() 함수를 사용하면 가격 × 요율 계산 결과 등을 화폐 표기 형식처럼 읽기 쉽게 출력할 수 있습니다. 다만 FORMAT() 함수의 반환값은 문자열이므로, ORDER BY 정렬이나 추가 산술 연산이 필요한 경우에는 내부적으로 ROUND() 함수를 사용하거나 별도 처리를 고려하는 것이 좋습니다.