hyeonga_code
Database_16_숫자 함수_ROUND, TRUNC, MOD, CEIL, FLOOR 본문
-- SQL 함수
-- 숫자 함수
-- ROUND : 특정 위치에서 반올림한 값을 반환합니다.
-- TRUNC : 특정 위치에서 버림한 값을 반환합니다.
-- MOD : 인수로 나눈 나머지 값을 반환합니다.
-- CEIL : 지정된 숫자보다 큰 정수 중 가장 작은 정수를 반환합니다.
-- FLOOR : 지정된 숫자보다 작은 정수 중 가장 큰 정수를 반환합니다.
-- ROUND ('지정 숫자', 반올림 할 소수점 자리 수')
SELECT ROUND(45.923,2), ROUND(45.923,0), ROUND(45.923,-1)
FROM dual;
/*
ROUND(45.923,2) ROUND(45.923,0) ROUND(45.923,-1)
----------------------------------------------------------------------------------------
45.92 46 50
*/
-- TRUNC ('지정 숫자', 남길 소수점 자리 수')
-- 음수를 사용하면 정수를 의미합니다.
SELECT TRUNC(45.923,2), TRUNC(45.923), TRUNC(45.923,-2)
FROM dual;
/*
TRUNC(45.923,2) TRUNC(45.923) TRUNC(45.923,-2)
--------------------------------------------------------------------------------------
45.92 45 0
*/
-- MOD('지정 숫자', 나누는 값)
-- 값이 홀수인지 짝수인지 확인하는 경우에도 많이 사용합니다.
SELECT last_name, salary, MOD(salary, 5000)
FROM employees
WHERE job_id = 'SA_REP';
/*
LAST_NAME SALARY MOD(salary, 5000)
---------------------------------------------------------------------
Abel 11000 1000
Taylor 8600 3600
Grant 7000 2000
*/
-- CEIL
SELECT CEIL(4.457), CEIL(-4.457)
FROM dual;
/*
CEIL(4.457) CEIL(-4.457)
----------------------------------------------
5 -4
*/
-- FLOOR
SELECT FLOOR(4.457), FLOOR(-4.457)
FROM dual;
/*
FLOOR(4.457) FLOOR(-4.457)
------------------------------------------------
4 -5
*/