4.숫자 함수
/*
함수 : 컬럼의 값을 읽어서 결과를 반환
함수를 기술할 수 있는 위치 : SELECT, WHERE, ORDER BY, GROUP BY, HAVING
[숫자함수]
1) ASB(NUMBER)
- 절대값을 반환
*/
SELECT ABS(10.9), ABS(-10.9)
FROM DUAL;
/*
2) MOD(NUMBER, NUMBER)
- 두 수를 나눈 나머지를 반환해주는 함수(자바의 %연산과 동일)
*/
SELECT MOD(3,2), MOD(-3,2), MOD(3,0), MOD(10.9,3)
FROM DUAL;
/*
3) ROUND(NUMBER[,위치])
- 위치를 지정하여 반올림 해주는 함수
- 위치를 양의 수로 : 소수점 기준으로 오른쪽 지정한 위치까지 출력
- 위치를 음의 수로 : 소수점 기준으로 왼쪽 지정한 위치를 반올림(정수부분)
- 위치를 지정하지 않으면 첫번째 자리에서 반올림
- 음수일경우 ceil과 floor 비슷
*/
SELECT ROUND(15.24576), ROUND(15.24576,-1), ROUND(15.24576,1) -- 1은 두번째자리에서 반올림
FROM DUAL;
SELECT ROUND(-15.24576)
FROM DUAL;
/*
4) CEIL(NUMBER)
- 소수점을 기준으로 올림, 인수 하나만 입력 가능
- 인자값이 음수인 경우 인수로 지정한 수치보다 크고 가까운 정수를 반환
(음수에서 소수점을 절삭하는 느낌)
*/
SELECT CEIL(10.55)
FROM DUAL;
SELECT CEIL(-10.55)
FROM DUAL;
/*
5) FLOOR(NUMBER)
- 소수점을 기준으로 버림, 인수 하나만 입력 가능
- 인자값이 음수인 경우 소수점을 내림할경우 음수값이 커짐
*/
SELECT FLOOR(10.55)
FROM DUAL;
SELECT FLOOR(-10.55)
FROM DUAL;
/*
6) TRUNC(NUMBER[,위치];
- 위치를 지정하여 버림이 가능한 함수
- 위치 : 양수(소수점 기준으로 오른쪽) 지정한 위치까지 보여줌
- 위치 : 음수(소수점 기준으로 왼쪽)
*/
SELECT TRUNC(10.55,-2)
FROM DUAL;
/*
7) POWER(NUMBER1, NUMBER2)
- NUMBER1을 NUMBER번 제곱한 결과를 반환
*/
SELECT POWER(2, 3)
FROM DUAL;