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

MySQL에서 숫자를 소수점 둘째 자리까지 표시하는 방법 – TRUNCATE() 함수 활용

MySQL에서 숫자를 소수점 이하 두 자리 형식으로 표시하려면 TRUNCATE() 함수를 사용하면 됩니다. 이 함수는 지정한 자릿수 뒤의 값을 버리고 잘라낸 결과를 반환합니다.

TRUNCATE() 기본 문법

SELECT TRUNCATE(yourColumnName, 2) AS anyVariableName
FROM yourTableName;

문법을 제대로 이해하기 위해 먼저 실습용 테이블을 생성해 보겠습니다.

예제 테이블 생성

mysql> CREATE TABLE FormatNumberTwoDecimalPlace (
    -> Number FLOAT
    -> );
Query OK, 0 rows affected (0.59 sec)

INSERT 명령으로 샘플 데이터를 몇 개 입력합니다.

mysql> INSERT INTO FormatNumberTwoDecimalPlace VALUES (123.456);
Query OK, 1 row affected (0.13 sec)

mysql> INSERT INTO FormatNumberTwoDecimalPlace VALUES (1.6789);
Query OK, 1 row affected (0.19 sec)

mysql> INSERT INTO FormatNumberTwoDecimalPlace VALUES (12.2);
Query OK, 1 row affected (0.14 sec)

mysql> INSERT INTO FormatNumberTwoDecimalPlace VALUES (12356.23145);
Query OK, 1 row affected (0.40 sec)

mysql> INSERT INTO FormatNumberTwoDecimalPlace VALUES (12356);
Query OK, 1 row affected (0.14 sec)

mysql> INSERT INTO FormatNumberTwoDecimalPlace VALUES (.5678);
Query OK, 1 row affected (0.28 sec)

이제 SELECT 명령으로 테이블에 저장된 모든 레코드를 조회해 보겠습니다.

mysql> SELECT * FROM FormatNumberTwoDecimalPlace;

출력 결과

+---------+
| Number  |
+---------+
| 123.456 |
|  1.6789 |
|    12.2 |
| 12356.2 |
|   12356 |
|  0.5678 |
+---------+
6 rows in set (0.04 sec)

이제 TRUNCATE() 함수를 적용하여 숫자를 소수점 둘째 자리까지만 표시하는 쿼리는 다음과 같습니다.

mysql> SELECT TRUNCATE(Number, 2) AS TwoValueAfterDecimal
FROM FormatNumberTwoDecimalPlace;

출력 결과

+----------------------+
| TwoValueAfterDecimal |
+----------------------+
|               123.45 |
|                 1.67 |
|                12.19 |
|             12356.23 |
|             12356.00 |
|                 0.56 |
+----------------------+
6 rows in set (0.00 sec)

참고 사항

TRUNCATE()는 반올림 없이 지정한 자릿수 이하를 단순히 버립니다. 반올림된 값이 필요하다면 대신 ROUND() 함수를 사용하세요. 또한 위 예제에서 12.2가 12.19로 표시되는 것은 FLOAT 타입의 부동소수점 오차 때문입니다. 금액처럼 정확한 소수점 계산이 중요한 데이터라면 컬럼 타입을 DECIMAL로 선언하는 것이 좋습니다.