Oracle SQL 강좌
Numeric Functions (숫자형 함수) 22 24 99,999+

by 김정식 ABS ACOS ASIN COS EXP LOG MOD POWER ROUND TRUNC [2002.01.20]


숫자형 함수란 수 값을 인수로 받아 NUMBER 타입의 값을 반환하는 함수이다.

ABS(n)

ABS 함수는 절대값을 계산하는 함수이다.

 
-- ABS 예제
SELECT ABS (-1.234) absolute FROM DUAL;

ABSOLUTE
----------
     1.234

CEIL(n)

CEIL 함수는 올림값을 반환하는 함수이다.

 
-- CEIL 양수 예제
SELECT CEIL(10.1234) "CEIL" FROM DUAL;

CEIL
----------
        11



-- CEIL 음수 예제
SELECT CEIL(-10.1234) "CEIL" FROM DUAL;

CEIL
----------
      -10

FLOOR(n)

FLOOR 함수는 버림값을 반환하는 함수이다.

-- FLOOR 양수 예제
SELECT FLOOR(10.1234) "FLOOR" FROM DUAL;

FLOOR
------
     10


-- FLOOR 음수 예제
SELECT FLOOR(-10.1234) "FLOOR" FROM DUAL;

FLOOR
------
    -11 

MOD(m, n)

MOD 함수는 m을 n으로 나눈 나머지를 반환 한다. n이 0일 경우 m을 반환 한다.

-- MOD예제
SELECT MOD(9, 4) "MOD" FROM DUAL ;

MOD
----
   1

ROUND(n, [m])

ROUND 함수는 n값의 반올림을 하는 함수로 m은 소숫점 아래 자릿수를 나타낸다.

-- ROUND 예제
SELECT ROUND(192.153, 1) "ROUND" FROM DUAL;

ROUND
-------
  192.2

-- ROUND 예제
SELECT ROUND(192.153, -1) "ROUND" FROM DUAL;

ROUND
-------
  190

TRUNC(n, m)

TRUNC 함수는 n값을 절삭하는 함수로 m은 소숫점 아래 자릿수를 나타낸다.

-- TRUNC 예제
SELECT TRUNC(7.5597, 2) "TRUNC" FROM DUAL;

TRUNC
-----
 7.55

-- TRUNC 예제
SELECT TRUNC(789.5597, -2) "TRUNC" FROM DUAL;

TRUNC
-----
700

Oracle Number Functions

ABS
ACOS
ASIN
ATAN
ATAN2
BITAND
CEIL
COS
COSH
EXP
FLOOR
LN
LOG
MOD
NANVL
POWER
REMAINDER
ROUND (number)
SIGN
SIN
SINH
SQRT
TAN
TANH
TRUNC (number)
WIDTH_BUCKET

참고링크

- 강좌 URL : http://www.gurubee.net/lecture/1024

- 구루비 강좌는 개인의 학습용으로만 사용 할 수 있으며, 다른 웹 페이지에 게재할 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^

- 구루비 강좌는 서비스 제공을 위한 목적이나, 학원 홍보, 수익을 얻기 위한 용도로 사용 할 수 없습니다.

by 김정식 [2003.11.23 16:28:31]
링크가 모두 연결되지 않네요.. 이론..

by 정승호 [2004.07.22 15:32:35]
링크 연결해죠요~~

by 이남경 [2005.01.10 21:05:29]
소수점 몇째자리에서 '올림' 이건 어떻게 하는지요..

by 김정식 [2005.01.11 11:03:44]
링크 다시 수정했습니다. ^^

by 최승현 [2005.01.17 11:50:20]
아.. SQL레퍼런스 R2 다운받았습니다.
좋군요 허헛.

by 잔상 [2005.07.15 08:58:41]
SIGN함수는 n<0일 경우 -1DFM N=0일 경우 0을 N>0일 경우 1을 반환합니다.
오타 발견했습니다..^^
-1DFM => 를 인것 같은데..

by smile [2005.11.09 20:08:45]
퍼갑니다. ^^

by 기쁜우리 [2006.05.29 12:11:37]
퍼갑니다.

by 라모니 [2006.06.09 15:58:13]
CEIL 과 반대되는 명령은 없나요? 이하 값중에 최대값을 구해주는...그런.

by 젠트 [2006.07.12 19:33:01]
ceil 반대가 floor 아닌가요?

by 녹스 [2006.10.31 23:48:16]
EXP(n)

EXP함수는 주어진 값의 e의 승수를 나타냅니다.
e는 2.171828183..입니다. ---->2.718281828.....
아닌가 싶네요~ 오타일듯

by cine_park [2007.04.03 15:25:28]
소수첫째자리를 기점으로 1은 소수둘째, -1은 정수첫째, 0,생략 은 소수첫째자리
round(123.456,-1)=123.5 round(123.456,1)=120 round(123.456,0)=123
이 정도가 아닐까 싶네요. 강사님 강의가 오죽 어려우면 여기까지 왔겠소.아 힘들다 정말....

by 잇힝 [2007.04.11 01:13:56]
cine_park님 반대로 생각하시는 듯. 그리고 round(123.456,1)은 123.5 입니다.

by 푸름 [2007.12.31 00:55:21]
ceil 함수는 올림하는 걸로 알고 있는데 최소값이라만 하면...
잘 안 와닿네요. 아 그리고 이 자료 퍼갈께요.

by 이일룡 [2008.01.29 16:51:15]
http://www.pbdn.net 에 도움자료고 퍼갑니다.
감사합니다.

by 쉽게 [2008.02.19 15:00:45]
쉽게해서 ceil : 천장이라고 해서 올림으로 생각하시면 될거 같구요
floor : 바닥이라고 해서 내림,버림으로 하면 좋을거 같습니다.

by 쉽게 [2008.02.19 15:05:52]
TRUNC는 버림으로 표현을 해야할거 같습니다.
반내림 = 반올림 이라서 반내림이라고 하면 ROUND와 같은 뜻인거 같습니다.
예제에서도 7.559 에서 반내림을 하면 반이 넘은수는 올려야하는관계로
7.56이 맞을거 같지만... 7.55를 표현했습니다.

SQL>SELECT TRUNC(7.5597, 2) TEST FROM dual ;

TEST
-------
7.55

by 김태희 [2009.04.07 15:40:06]
좋은 자료 감사함니다 내공점점 올라가고있는 느낌이에요 ^^

by 오라쟁이 [2011.12.22 16:32:53]
지금은 링크연결이 다 안되네용. 시간이 너무 지나서 없어졌나봐요.

by 김정식 [2012.03.30 20:20:34]
링크를 Oracle11g에 맞게 수정하였습니다. ^^

by 진 [2012.09.25 11:59:50]

잘 보고 갑니다~~


by 이리나인 [2012.12.18 17:27:33]

많이 배우고 갑니다~

by 하치 [2013.12.18 12:31:53]

abs 함수가 궁금했는데 잘보고갑니다.

by 박군 [2013.12.26 11:25:36]

짜투리시간에 틈틈히 보는데 너무 좋네요

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입