SQL - 단일행 함수 (숫자함수)
단일행 함수란?
- 쿼리 된 테이블 또는 뷰의 모든 행에 대해 단일 결과 행을 반환한다.
- 단일행 함수는 선택 목록, WHERE 절, START WITH 및 CONNECT BY 및 HAVING 절에 나타날 수 있다.
숫자 함수란?
- 숫자 함수는 수식 연산을 하는 함수로 매개변수나 반환 값이 대부분 숫자 형태이다.
- 대부분의 숫자 함수는 유효자리가 38자인 NUMBER로 반환되며, 삼각함수, 지수함수 등은 소수점 36자리로 반환된다.
주요 숫자 함수 종류
1) ABS(n)
n의 절대 값을 반환한다. |
SELECT ABS(10), ABS(-10) FROM dual;
실행 결과 :
2) SIGN(n)
n의 값이 양수/음수/0 인지에 따라 값을 1/-1/0 으로 반환한다. |
SELECT SIGN(10), SIGN(-10), SIGN(0) FROM dual;
실행 결과 :
3) MOD(n1,n2)
n1을 n2로 나눈 나머지 값을 반환한다. 내부 연산 : n1 - n2*ROUND(n1/n2) |
SELECT MOD(11,4) FROM dual;
실행 결과 :
4) REMAINDER(n1,n2)
n1을 n2로 나눈 나머지 값을 반환한다. 내부 연산 : n1 - n2*CEIL(n1/n2) MOD와 유사하며 내부연산에 ROUND/CEIL 여부 차이가 있다. |
5) CEIL(n)
n보다 크거나 같은 가장 작은 정수를 반환한다. |
SELECT CEIL(20.5), CEIL(-20.5) FROM dual;
실행 결과 :
5) ROUND(n, 정수)
n을 소수점 오른쪽 정수 자리로 반올림한다. 정수 생략시 n은 0으로 반올림되며 정수가 음수이면 n은 왼쪽으로 반올림된다. |
SELECT ROUND(15.693,1) FROM dual;
실행 결과 :
SELECT ROUND(15.693,-1) FROM dual;
실행 결과 :
5)FLOOR(n)
n이하의 가장 큰 정수 값을 반환한다. |
SELECT FLOOR(20.5), FLOOR(-20.5) FROM dual;
실행 결과 :
6) TRUNC(n1, 자리수(생략 가능)
n이하의 가장 큰 정수 값을 반환한다. |
SELECT TRUNC(15.693,1) FROM dual;
SELECT TRUNC(15.693,0) FROM dual;
실행 결과 :
7) POWER(n1,n2)
n1의 n2승 값 반환한다. |
실행 결과 :
'DB > Oracle' 카테고리의 다른 글
SQL - 단일행 함수 (날짜 함수) (0) | 2020.09.02 |
---|---|
SQL - 단일행 함수(문자함수) (0) | 2020.09.01 |
SQL - SELECT 문 (0) | 2020.09.01 |
관계형 데이터베이스 (0) | 2020.08.29 |
데이터베이스 언어 (0) | 2020.08.29 |
댓글