본문 바로가기

아이티/oracle&DB

[ORACLE/SQL] 함수 - 숫자함수

[숫자 함수]

             1     2     3     4    .    5     6     7
자리수   -4    -3   -2   -1    0   1     2     3


ROUND : 반올림
ROUND (숫자, X ) : 자리수(X) 까지 표현하고 X+1 자리에서 반올림

SELECT ROUND(45.545, 1) FROM DUAL; --45.5
SELECT ROUND(45.545,-1) FROM DUAL; --50
SELECT ROUND(45.545, 0) FROM DUAL; --46
SELECT ROUND(45.545) FROM DUAL; --46
-- -1 자리까지 표현할때 주의
-- 자리수가 안나올때는 디폴트가 0자리

SELECT ROUND(-45.545, 2) FROM DUAL; -- -45.55
SELECT ROUND(-45.545, -1) FROM DUAL; -- -50



TRUNC : 절삭
SELECT TRUNC(45.245, 2) FROM DUAL; --45.24


CEIL / FLOOR : 올림/내림
SELECT CEIL (461.21) FROM DUAL; --462
SELECT FLOOR(461.21) FROM DUAL; --461


* TRUNC 와 FLOOR 의 비교
SELECT TRUNC(-45.245) FROM DUAL; --  -45
SELECT FLOOR(-45.245) FROM DUAL; --  -46
--마이너스에서만 차이가 있음
--TRUNC 는 그냥 잘라냄, FLOOR 는 내림인데, 마이너스 값이므로 값이 작아지면 절대값은 커진다.


MOD : 나머지
SELECT MOD (10, 3) FROM DUAL; -- 1

ABS :절대값
SELECT ABS (-123) FROM DUAL; -- 123

SIGN : 양수는 1, 음수는 -1 , 0 은 0 을 반환
SELECT SIGN (100), SIGN(-25), SIGN(0) FROM DUAL;
                       1            -1               0

POWER : 지수
POWER (A,B) - A의 B 승
SELECT POWER(2,4) FROM DUAL;    -- 2의 4승이므로 16

SQRT : 제곱근
SQRT (X) : √X
SELECT SQRT (9) FROM DUAL; --3

반응형