반응형

SQL Functions(10g) - Numeric Functions

1. ABS(N) : N의 절대 값을 반환한다.

SQL> SELECT ABS(3) AS "양수", ABS(-3) AS "음수" FROM DUAL;


         양수          음수

---------- ----------

             3               3


2. CEIL(N) : N 이상의 최초의 정수를 반환한다.

SQL> SELECT CEIL(0.9), CEIL(1.3), CEIL(1.5), CEIL(1.7), CEIL(1.9), CEIL(2.1)  FROM DUAL;

 

 CEIL(0.9)  CEIL(1.3)  CEIL(1.5)  CEIL(1.7)  CEIL(1.9)  CEIL(2.1)
---------- ---------- ---------- ---------- ---------- ----------
         1          2          2          2          2          3

 


3. FLOOR(N) : N 이하의 최초의 정수를 반환한다.

SQL> SELECT FLOOR(0.9), FLOOR(1.3), FLOOR(1.5), FLOOR(1.7), FLOOR(1.9), FLOOR(2.1)  FROM DUAL;

 

FLOOR(0.9) FLOOR(1.3) FLOOR(1.5) FLOOR(1.7) FLOOR(1.9) FLOOR(2.1)                                                                                                                                      
---------- ---------- ---------- ---------- ---------- ----------

0          1          1          1          1          2

 


4. MOD(M,N) : M을 N으로 나누었을 때의 나머지를 반환한다.

SQL> SELECT MOD(10,1), MOD(10,2), MOD(10,3), MOD(10,4), MOD(10,5) FROM DUAL;

 

MOD(10,1)  MOD(10,2)  MOD(10,3)  MOD(10,4)  MOD(10,5)
---------- ---------- ---------- ---------- ----------
         0          0          1          2          0


5. POWER(M,N) : M의 N 승을 반환한다.

SQL> SELECT POWER(2,1), POWER(2,2), POWER(2,3) FROM DUAL;

 

POWER(2,1) POWER(2,2) POWER(2,3)                                                                                                                                                                       
---------- ---------- ----------

 2          4          8    


6. ROUND(M,N) : M을 소수점 N이 양수일 때는 소수 'N+1' 자리에서 반올림한 값을 반환한다.
                       단, N이 음수일 때는 -(N) 자리에서 반올림한다. -(N) 미만의 자리수는 버린다.

SQL> SELECT ROUND(143.456,1), ROUND(143.456,2), ROUND(143.456,3), ROUND(143.456,-1), ROUND(143.456,-2) FROM DUAL; 

 

ROUND(143.456,1) ROUND(143.456,2) ROUND(143.456,3) ROUND(143.456,-1) ROUND(143.456,-2)                                                                                                                 
---------------- ---------------- ---------------- ----------------- -----------------              

 

143.5                  143.46               143.456                    140               100 


 

7. SQRT(N) : '루트 N'을 의미한다.

SQL> SELECT SQRT(25), SQRT(36) FROM DUAL;

 

  SQRT(25)   SQRT(36)                                                                                                                                                                                  

---------- ----------

 

 5          6


8. TRUNC(M,N) : M을 소수점 N이 양수일 때는 소수 'N+1' 이하의 자리를 절삭한 값을 반환한다.
                       단, N이 음수일 때는 -(N) 이하의 자리를 절산한 값을 반환한다.

SQL> SELECT TRUNC(143.456,1), TRUNC(143.456,2), TRUNC(143.456,3), TRUNC(143.456,-1), TRUNC(143.456,-2) FROM DUAL;

 

 

TRUNC(143.456,1) TRUNC(143.456,2) TRUNC(143.456,3) TRUNC(143.456,-1) TRUNC(143.456,-2)

---------------- ---------------- ---------------- ----------------- -----------------

143.4                  143.45                 143.456               140                      100


9. WIDTH_BUCKET(P, M, N, L) : P컬럼 값을 기준으로 L개의 그룹으로 나눈다. 범위는 M부터 N사이의 값이 기준이다.

예를 들면, 아래의 WIDTH_BUCKET(SAL, 100, 5000, 5)의 집단은 아래와 같다.
1집단: 100~1000
2집단: 1001~2000
3집단: 2001~3000
4집단: 3001~4000
5집단: 4001~5000

SQL> SELECT EMPNO, SAL, WIDTH_BUCKET(SAL, 100, 5000, 5) FROM EMP;

 

 

 

 

 

반응형