본문 바로가기
Database/Mysql

Mysql/Mariadb 숫자함수 (ABS, CEILING, FLOOR, ROUND, TRUNCATE)

by 화곡공룡 2020. 12. 14.
반응형

Mysql 기반 숫자함수에 대해 알아보겠습니다.

1. ABS (절대값)

함수 사용법 : ABS(숫자)

ABS함수는 절대값을 만들어 주는 함수

절대값이란 실수에서 양의 부호 + 와 음의 부호 - 를 뺀 값 입니다. 즉 모두 양수로 인식하여 계산

mysql> select abs(-10) c1, abs(-3-23) c2, abs(10) c3, abs(3+23) c4 ;
+----+----+----+----+
| c1 | c2 | c3 | c4 |
+----+----+----+----+
| 10 | 26 | 10 | 26 |
+----+----+----+----+

2. CEILING (소수점 올림)

함수 사용법 : CEILING(숫자)

값보다 큰 정수 중 가장 작은 수를 가져오는 함수로써 소수점을 모두 올림

mysql> select CEILING(12.11) c1, CEILING(12.59) c2, CEILING(19.0) c3, CEILING(19.1) c4 ;
+----+----+----+----+
| c1 | c2 | c3 | c4 |
+----+----+----+----+
| 13 | 13 | 19 | 20 |
+----+----+----+----+

3. FLOOR (소수점 버림)

함수 사용법 : FLOOR(숫자)

값보다 작은 정수 중 가장 큰 수 를 가져오며 실수를 무조건 버림 (음수일 경우는 내림)

mysql> select FLOOR(12.11) c1, FLOOR(19.0) c2, FLOOR(19.9) c3, FLOOR(-19.1) c4 ;
+----+----+----+-----+
| c1 | c2 | c3 | c4  |
+----+----+----+-----+
| 12 | 19 | 19 | -20 |
+----+----+----+-----+

4. ROUND (소수점 반올림)

함수 사용법 : ROUND(숫자, 자릿수)

숫자를 소수점 이하 자릿수를 남기고 반올림

- 자릿수를 생략 시 소수점 5이상일 때 반올림

- 자릿수를 0으로 지정하면 소숫점에서 반올림

- 자릿수를 양수로 지정하면 해당하는 자릿수에 반올림

- 자릿수가 음수인 경우 소숫점 이하를 버리고 정수에 뒤에서부터 지정된 자릿수까지 반올림

- 자릿수를 생략 시 소수점 5이상일 때 반올림
mysql> select ROUND(19.49) c1, ROUND(19.50) c2 ;
+----+----+
| c1 | c2 |
+----+----+
| 19 | 20 |
+----+----+

- 자릿수를 0으로 지정하면 소숫점에서 반올림
mysql> select ROUND(19.41,0) c1, ROUND(19.50,0) c2 ;
+----+----+
| c1 | c2 |
+----+----+
| 19 | 20 |
+----+----+

- 자릿수를 양수로 지정하면 해당하는 자릿수에 반올림
mysql> select ROUND(19.41,2) c1, ROUND(19.49,2) c2 ;
+-------+-------+
| c1    | c2    |
+-------+-------+
| 19.41 | 19.49 |
+-------+-------+
mysql> select ROUND(19.41,1) c1, ROUND(19.49,1) c2 ;
+------+------+
| c1   | c2   |
+------+------+
| 19.4 | 19.5 |
+------+------+

- 자릿수가 음수인 경우 소숫점 이하를 버리고 정수에 뒤에서부터 지정된 자릿수까지 반올림
mysql> select ROUND(194.41,-1) c1, ROUND(195.50,-1) c2 ;
+-----+-----+
| c1  | c2  |
+-----+-----+
| 190 | 200 |
+-----+-----+

5. TRUNCATE(소수점 자릿수 버림)

함수 사용법 : TRUNCATE(숫자, 자릿수)

숫자를 소수점 이하의 자릿수를 남기고 모두 버림

- 자릿수가 양수인 경우 해당 자릿수에서 소수점 버림.

- 자릿수가 음수인 경우 소숫점 이하를 버리고 정수에 뒤에서부터 지정된 자릿수까지 0으로 처리

- 자릿수가 양수인 경우 해당 자릿수에서 소수점 버림.
mysql> select TRUNCATE(19.4123,1) c1, TRUNCATE(19.4123,2) c2 ;
+------+-------+
| c1   | c2    |
+------+-------+
| 19.4 | 19.41 |
+------+-------+

- 자릿수가 음수인 경우 소숫점 이하를 버리고 정수에 뒤에서부터 지정된 자릿수까지 0으로 처리
mysql> select TRUNCATE(199.4123,-1) c1, TRUNCATE(199.4123,-2) c2, TRUNCATE(199.4123,-3) c3 ;
+-----+-----+----+
| c1  | c2  | c3 |
+-----+-----+----+
| 190 | 100 |  0 |
+-----+-----+----+

이상 Mysql/MariaDB 숫자함수에 대해 설명하였습니다.

반응형

댓글