DataBase

MariaDB | FORMAT 함수 (숫자 세 자리마다 콤마 찍기)

LaKinRad 2022. 6. 29. 14:27

웹 페이지에서 보이는 금액을 세 자리마다 콤마를 찍어 보여주어야 하는 일이 있었다.

 

js 파일에서 데이터를 받아서 함수를 만들어 처리할 수도 있지만,

굳이 웹 페이지 리소스를 낭비하기보다는 MariaDB의 FORMAT 함수로 처리했다.

 


 

Syntax

FORMAT(num, decimal_position[, locale])

 

FORMAT 함수는 주어진 숫자를 문자열로 형식화하고 반환하는 함수이다.

decimal_position 은 소숫점 아래 숫자의 개수이고,

locale 은 선택적으로 locale 값을 지정하여 지정된 지역에 적합한 패턴으로 숫자를 형식화할 수 있다.

 

SELECT FORMAT(21571621000, 0) as FormatNum;

+----------------+
| FormatNum      |
+----------------+
| 21,571,621,000 |
+----------------+

 

기본적으로 세 자리마다 콤마를 표시해준다.

 

 

SELECT FORMAT('21571621000', 0) as FormatNum;

+----------------+
| FormatNum      |
+----------------+
| 21,571,621,000 |
+----------------+

 

값은 숫자 형이 아니어도 된다.

 

 

SELECT FORMAT(21571621000, 4) as FormatNum;

+---------------------+
| FormatNum           |
+---------------------+
| 21,571,621,000.0000 |
+---------------------+

 

decimal_position 에 입력한 숫자만큼 소수점이 표시된다.

 

 

SELECT FORMAT('21571621000.123456', 3, 'ko_KR') as FormatNum;

+--------------------+
| FormatNum          |
+--------------------+
| 21,571,621,000.123 |
+--------------------+

SELECT FORMAT('21571621000.123456', 3, 'da_DK') as FormatNum;
 
+--------------------+
| FormatNum          |
+--------------------+
| 21.571.621.000,123 |
+--------------------+

SELECT FORMAT('21571621000.123456', 3, 'rm_CH') as FormatNum;

+--------------------+
| FormatNum          |
+--------------------+
| 21'571'621'000,123 |
+--------------------+

 

locale에 값을 넣어 그 지역에 적합한 패턴으로 형식화 해 주는 것을 볼 수 있다.

 

 

MariaDB 에서 지원하는 locale 목록은 아래의 링크를 참고하자.

https://runebook.dev/en/docs/mariadb/server-locale/index

 

MariaDB - Server Locale - The lc_time_names server system variable sets the language used by the date and time

 

runebook.dev

 

'DataBase' 카테고리의 다른 글

MariaDB | REPLACE 함수 (문자열 치환)  (0) 2022.11.09