프로그램/DB
oracle 숫자함수(mod, round, width_bucket)
영혼과영혼의양식
2011. 7. 11. 15:32
MOD(m, n)
.m을 n으로 나누었을 때 나머지 값을 반환
SQL> SELECT MOD(10,3) AS AA
FROM Dual;
응용:
SQL> SELECT FLOOR(A.SEC_TIME/3600) || ':' || FLOOR(MOD(A.SEC_TIME,3600)/60) || ':' || MOD(A.SEC_TIME,60) AS "시분초"
SQL> FROM (SELECT 2345 AS SEC_TIME FROM DUAL) A
결과 : 0:39:5
ROUND(m,n)
.m을 n+1 자리에서 반올림 한 결과를 반환
SQL> SELECT ROUND(18.354, 2) "Round"
SQL> FROM DUAL;
결과 : 18.35
WIDTH_BUCKET(expr, min_value, max_value, num_bucker)
.최소,최대값으 범위(min,max)를 설정하고 구간(bucker)을 나누어 expr이 어디에 속하는지 반환
SQL> SELECT WIDTH_BUCKET(84, 0, 100, 10) AS SCORE
SQL> FROM DUAL;
결과 : 9
.0 부터 100까지를 10개의 구간으로 나누어 84가 몇번째 구간에 속하는지 그 구간의 위치를 반환
.m을 n으로 나누었을 때 나머지 값을 반환
SQL> SELECT MOD(10,3) AS AA
FROM Dual;
응용:
SQL> SELECT FLOOR(A.SEC_TIME/3600) || ':' || FLOOR(MOD(A.SEC_TIME,3600)/60) || ':' || MOD(A.SEC_TIME,60) AS "시분초"
SQL> FROM (SELECT 2345 AS SEC_TIME FROM DUAL) A
결과 : 0:39:5
ROUND(m,n)
.m을 n+1 자리에서 반올림 한 결과를 반환
SQL> SELECT ROUND(18.354, 2) "Round"
SQL> FROM DUAL;
결과 : 18.35
WIDTH_BUCKET(expr, min_value, max_value, num_bucker)
.최소,최대값으 범위(min,max)를 설정하고 구간(bucker)을 나누어 expr이 어디에 속하는지 반환
SQL> SELECT WIDTH_BUCKET(84, 0, 100, 10) AS SCORE
SQL> FROM DUAL;
결과 : 9
.0 부터 100까지를 10개의 구간으로 나누어 84가 몇번째 구간에 속하는지 그 구간의 위치를 반환