본문 바로가기

SQL - 단일행 함수 (숫자함수)

인포꿀팁 발행일 : 2020-09-01

단일행 함수란?

  • 쿼리 된 테이블 또는 뷰의 모든 행에 대해 단일 결과 행을 반환한다.
  • 단일행 함수는 선택 목록, 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

댓글