FORMAT() 함수란?
MySQL의 FORMAT() 함수는 숫자를 #,###,###.### 형태로 변환해 주는 함수입니다. 지정한 소수점 자릿수만큼 반올림한 결과를 문자열로 반환하며, 천 단위마다 콤마(,)가 자동으로 삽입됩니다. 이 함수를 활용하면 특정 열의 소수점 값을 원하는 형식으로 손쉽게 조회할 수 있습니다.
예제 테이블: estimated_cost
FORMAT() 함수의 동작을 이해하기 위해 다음과 같은 데이터를 가진 'estimated_cost' 테이블을 예로 들어 보겠습니다.
mysql> Select * from estimated_cost; +----+-----------------+-----------+---------------+ | Id | Name_Company | Tender_id | Tender_value | +----+-----------------+-----------+---------------+ | 1 | ABC Ltd. | 110 | 256.3256879 | | 2 | Chd Ltd. | 116 | 8569.25647879 | | 3 | City group Ltd. | 202 | 23647.2365987 | | 4 | Hjkl Ltd. | 215 | 6598.327846 | +----+-----------------+-----------+---------------+ 4 rows in set (0.00 sec)
소수점 둘째 자리까지 조회하기
'Tender_value' 열의 값을 소수점 둘째 자리까지만 확인하고 싶다면 아래와 같은 쿼리를 사용하면 됩니다.
mysql> Select FORMAT(Tender_value,2) from estimated_cost; +------------------------+ | FORMAT(Tender_value,2) | +------------------------+ | 256.33 | | 8,569.26 | | 23,647.24 | | 6,598.33 | +------------------------+ 4 rows in set (0.00 sec)
위 쿼리는 Tender_value 값을 소수점 둘째 자리까지 반올림하여 반환합니다. 또한 1,000 이상의 숫자에는 콤마가 자동으로 추가되어 가독성이 크게 향상됩니다.
소수점 첫째 자리까지 조회하기
소수점 자릿수를 하나만 지정하면 첫째 자리까지 반올림된 결과를 얻을 수 있습니다.
mysql> Select FORMAT(Tender_value,1) from estimated_cost; +------------------------+ | FORMAT(Tender_value,1) | +------------------------+ | 256.3 | | 8,569.3 | | 23,647.2 | | 6,598.3 | +------------------------+ 4 rows in set (0.00 sec)
위 쿼리는 Tender_value 값을 소수점 첫째 자리까지 반올림하여 반환합니다.
정리
FORMAT(열 이름, 소수점 자릿수) 형식으로 사용하면 숫자 데이터를 지정한 자릿수만큼 반올림하고, 천 단위 구분 콤마가 포함된 문자열로 깔끔하게 출력할 수 있습니다. 참고로 FORMAT() 함수의 결과는 문자열이므로, 정렬이나 추가 연산이 필요한 경우에는 ROUND() 함수와 함께 활용하는 것이 좋습니다.