소수점 이하 숫자 다루기
ROUND(7.825, 2) -- 7.83
TRUNCATE(7.825, 2) -- 7.82
CEIL(7.825) -- 8
FLOOR(7.825) -- 7
ROUND(컬럼명 or 값, n)
: 값을 소수점 이하 n자리수로 반올림해라.
TRUNCATE(컬럼명 or 값, n)
: 값을 소수점 이하 n자리수까지 남기고, 나머지 버려라.
CEIL(컬럼명 or 값)
: 값의 소수점 이하를 올림해서 정수로 반환해라.
FLOOR(컬럼명 or 값)
: 값의 소수점 이하를 버림해서 정수로 반환해라.
제곱, 제곱근 연산하기
POWER(3, 2) -- 9
POW(3, 2) -- 9
SQRT(9) -- 3
POWER(컬럼명 or 값, n)
POW(컬럼명 or 값, n)
: 값을 n 제곱해서 반환해라.
SQRT(컬럼명 or 값)
: 값의 제곱근을 반환해라.
💡n 제곱근을 구하려면
⇒ POWER(컬럼명 or 1/n)
: 값의 n 제곱근을 반환해라. = 값을 1/n 제곱해서 반환해라.
몫, 나머지, 절대값 연산하기
-- 몫 구하기
11 DIV 2 -- OUTPUT: 5 (소수로 표현한 원래 몫은 5.5)
11 DIV 2.5 -- OUTPUT: 4 (소수로 표현한 원래 몫은 4.4)
-- 나머지 구하기
MOD(11, 2) -- OUTPUT: 1
11 % 2 -- OUTPUT: 1
-- 절대값 구하기
ABS(-12.1) -- OUTPUT: 12.1
컬럼명 or 값 DIV n
- 정수 나눗셈 (Integer division): 값을 n으로 나눴을 때의 소수점 오른쪽 부분은 버리고 몫만 반환해라.
- 피연산자(컬럼명 or 값, n)들 중 어느 하나라도 정수가 아닌 타입이 있으면, 피연산자를 소수(DECIMAL)로 바꾸어서 소수 나눗셈으로 연산한 후 정수 타입(BIGINT)으로 변환하여 반환한다. 이 때 결과가 BIGINT 범위를 초과하면 오류가 발생한다. (BIGINT 범위는 MySQL 공식문서 링크 참고하기 -> https://dev.mysql.com/doc/refman/9.0/en/integer-types.html)
MOD(컬럼명 or 값, n)
- 값을 n으로 나눴을 때의 나머지를 반환해라.
- '%' 기호를 사용하여 동일하게 연산하면 ⇒ 컬럼명 or 값 % n
ABS(컬럼명 or 값)
- 값의 절대값을 반환해라.
분산
VAR_POP(x) -- 모분산
VAR_SAMP(x) -- 표본 분산
모분산을 이렇게 나타내는 것도 가능하다. ⇒ VARIANCE(x)
데이터 타입
Integer Types (Exact Value)
- INTEGER
- INT
- SMALLINT
- TINYINT
- MEDIUMINT
- BIGINT
Fixed-Point Types (Exact Value)
- DECIMAL
- NUMERIC
Floating-Point Types (Approximate Value)
- FLOAT
- DOUBLE
[참고자료]
MySQL Documentation - Reference Manual (Numeric Functions and Operators)
https://dev.mysql.com/doc/refman/8.0/en/numeric-functions.html
MySQL Documentation - Reference Manual (Numeric Functions > Arithmetic Operators)
https://dev.mysql.com/doc/refman/9.0/en/arithmetic-functions.html
MySQL Documentation - Reference Manual (Numeric Data Types)
https://dev.mysql.com/doc/refman/9.0/en/numeric-types.html
'데이터 처리 도구 > SQL' 카테고리의 다른 글
[MySQL] String Functions and Operators (2) (0) | 2022.08.27 |
---|---|
[MySQL] String Functions and Operators (1) (0) | 2022.08.26 |
[MySQL] 날짜/시간 다루기 (1) (0) | 2022.05.06 |
[MySQL] 조건문 (CASE문, IF함수, IFNULL함수) (0) | 2022.05.06 |
[MySQL] 집계 함수와 GROUP BY절, HAVING절 (0) | 2022.05.05 |