숫자함수
ABS(n)
ABS함수는 매개 변수로 숫자를 받아 그 절대값을 반환하는 함수입니다.
-- 함수
-- 숫자 함수
SELECT ABS(10), ABS(-10), ABS(-10.123)
FROM DUAL
결과출력
CEIL(n)과 FLOOR(n)
CEIL 함수는 매개변수 n과 같거나 가장 큰 정수를 반환한다.
SELECT CEIL(10.123), CEIL(10.541), CEIL(11.001)
FROM DUAL
결과 출력
10.123은 10보다 크고 11보다 작아서 11이 됩니다. N이라는 값에 0.001이라도 크다면 N보다 큰 정수가 반환됩니다.
FLOOR 함수는 CEIL 함수와는 반대로 매개변수 N보다 작거나 가증 큰 정수를 반환합니다.
SELECT FLOOR(10.123), FLOOR(10.541), FLOOR(11.001)
FROM DUAL
결과 출력
ROUND(n, i)와 TRUNC(n1, n2)
ROUND 함수는 매개변수 n을 소수점 기준(i+1)번 째에서 반올림한 결과를 반환합니다. i는 생략할 수 있고 디폴트 값은 0, 즉 소수점 첫 번째 자리에서 반올림이 일어나 정수 부분의 일의 자리에 결과가 반영됩니다.
SELECT ROUND(10.154), ROUND(10.541), ROUND(11.001)
FROM DUAL
결과 출력
SELECT ROUND(10.154, 1), ROUND(10.154, 2), ROUND(10.154, 3)
FROM DUAL
결과 출력
ROUND(10.154, 3)는 3+1 , 즉 네번째 자리가 0이므로 결과에 변동이 없었습니다.
n이 0일때 는 i에 입력된 숫자에 상관없이 무조건 0을 반환하며, i가 음수이면 소수점을 기준으로 왼쪽 i번째에서 반올림이 일어납니다.
SELECT ROUND(0, 3), ROUND(155.155, -1), ROUND(115.155, -2)
FROM DUAL
결과 출력
0은 n이 0이므로 무조건 0이 반환되었고 155.155, -1 은 155(<-이수가 반올림됨).155 155에서 1의자리가 5가 반올림되어 160이란 값이 나옴 ROUND(115.155, -2)은 11(<-이수가 반올림됨)5.155에서 10의 자리의 1이 100의 자리에 반올림되어 100이란 값이 나오게 됩니다.
TRUNC 함수는 반올림을 하지 않고 n1을 소수점 기준 n2자리에서 무조건 잘라낸 결과를 반환합니다.
n2역시 생략할 수 있으며 디폴트 값은 0이고 양수일 때는 소수점 기준으로 오른쪽, 음수일 때는 소수점 기준 왼쪽 자리에서 잘라냅니다.
SELECT TRUNC(115.155), TRUNC(115.155, 1), TRUNC(115.155, 2), TRUNC(115.155, -2)
FROM DUAL
결과 출력
POWER(n2, n1)와 SQRT(n)
POWER 함수는 n2를 n1 제곱한 결과를 반환합니다. n1은 정수와 실수 모두 올 수 있는데. n2가 음수일때 n1은 정수만 가능합니다.
SELECT POWER(3, 2), POWER(3, 3), POWER(3, 3.0001)
FROM DUAL
결과 출력
실수형 n1에 n2를 음수로 두고 출력해보면
SELECT POWER(-3, 3.0001)
FROM DUAL
-3은 인수의 범위에서 벗어났다고 말해줍니다.
SQRT 함수는 n의 제곱근을 반환합니다.
SELECT SQRT(2), SQRT(5)
FROM DUAL
결과 출력
MOD(n2, n1)와 REMAINDER(n2, n1)
MOD 함수는 n2를 n1으로 나눈 나머지 값을 반환합니다.
SELECT MOD(19, 4), MOD(19.123, 4.2)
FROM DUAL
결과 출력
REMAINDER 함수역시 n2를n1으로 나눈 나머지 값을 반환하는데, 나머지를 구하는 내부적 연산 방법이 MOD 함수와는 약간 다릅니다.
SELECT REMAINDER(19, 4), REMAINDER(19.1234, 4.2)
FROM DUAL
결과 출력
EXP(n), LN(n) 그리고 LOG(n2, n1)
EXP는 지수 함수로 e(e=2.71828183...)의 n제곱 값을 반환하고 LN함수는 자연 로그 함수로 밑수가 e인 로그 함수입니다.
반면 LOG는 n2 밑수로 하는 n1의 로그 값을 반환합니다.
SELECT EXP(2), LN(2.713), LOG(10, 100)
FROM DUAL
결과 출력
REMAINDER 와 EXP(n), LN(n) 그리고 LOG(n2, n1) 는 나중에 한번더 공부좀 해보겠습니다. 어렵네요
'Oracle' 카테고리의 다른 글
Oracle cmd를 사용한 계정만들기, 조회 (0) | 2022.07.25 |
---|---|
Oracle 논리 조건식 (0) | 2022.06.16 |
Oracle 의사컬럼, 연산자, 표현식, 조건식 (0) | 2022.06.16 |
Oracle 그룹함수.연산자 (0) | 2022.06.16 |
Oracle (UP.MERGE.DEL) (0) | 2022.06.15 |