게시일: Oct 14, 2011 5:46:28 AM
select remainder(777, 4), remainder(777, -4), remainder(-777, -4), remainder(777, 0) from dual;
-----------------------------------------------------------------------------------------------
1 1 -1 777 divisor is equal to zero -> remainder는 n1에 0 이 올 수 없다.
** 주의 (두 함수의 내부연산 처리로직이 다름) ** -------------> 뭐가 이렇게 복잡해... 몰라.. 그냥 패수~~
MOD : n2 - n1 * floor(n2/n1)
REMAINDER : n2 - n1 * round(n2/n1)
select mod(1234.1234, 12.12), remainder(1234.1234, 12.12) from dual;
--------------------------------------------------------------------
10.0034 -2.1166
- POWER(n2, n1) : n2의 n1 제곱근
select power(3, 2), power(3, 3), power(-3, 2.1) from dual;
----------------------------------------------------------
9 27 argument '-3' is out of range -> n2가 양수일 경우 n1은 정수나 실수가 올 수 있지만, n2가 음수면 n1은 반드시 정수가 되어야 함.
- SQRT(n) : n의 제곱근
- 기타 숫자형 함수
ㅇ SIN(n)
ㅇ SINH(n)
ㅇ COS(n)
ㅇ COSH(n)
ㅇ TAN(n)
ㅇ TAN2(n)
ㅇ ASIN(n)
ㅇ ACOS(n)
ㅇ ATAN(n)
ㅇ LOG(n2, n1)
ㅇ LN(n)
ㅇ EXP(n)
------------------------------------------------------
1234 0
- MOD(n2, n1) : n2를 n1으로 나눈 나머지 값을 반환. 인자로는 number 타입만 올 수 있다.
select mod(777, 4), mod(777, -4), mod(-777, -4), mod(777, 0) from dual;
-----------------------------------------------------------------------
1 1 -1 777
- REMAINDER(n2, n1) : MOD와 동일하지만 인자로 number 타입뿐 아니라 binary_float과 binary_double 타입도 올 수 있다.
- ABS(n) : 절대값 반환
select abs(32), abs(-32) from dual; -> 둘 다 32
- SIGN(n) : 양수인지 음수인지 판단.
select sign(32), sign(-32), sign(0) from dual;
----------------------------------------------
1 -1 0
- ROUND(n, i) : 소수점 이하 i+1번째 자리에서 반올림, i를 생략할 경우는 0으로 인식
select round(0.12345678), round(0.12345678, 0), round(0.12345678, 3), round(0.12345678, 4), round(1234.12345678, -2) from dual;
-------------------------------------------------------------------------------------------------------------------------------
0 0 0.123 0.1235 1200
- TRUNC(n, i) : 소수점 이하 i+1번째 자리 이하는 가차없이 버리기, i를 생략할 경우는 0으로 인식
select trunc(1234.12345678), trunc(1234.12345678, 0), trunc(1234.12345678, -2), trunc(1234.12345678, 2), trunc(1234.12345678, 5) from dual;
-------------------------------------------------------------------------------------------------------------------------------------------
1234 1234 1200 1234.12 1234.12345
- CEIL(n) : n과 같거나 큰 가장 작은 정수를 반환 -> 정수값 그대로이거나 소수점 이하는 무조건 반올림
select ceil(1234.12345678), ceil(0.12345) from dual;
----------------------------------------------------
1235 1
- FLOOR(n) : n보다 작거나 같은 가장 큰 정수를 반환 -> 소수점 이하는 무조건 버림
select floor(1234.12345678), floor(0.12345) from dual;