728x90
[숫자함수]
ROUND : 반올림
TRUNC : 버림
MOD : 나머지
예) 숫자 함수와 표현식 응용
1600/300으로 표현식을 쓰면 정수가 아닌 5.33333333의 결과가 출력된다. 이 때는 TRUNC를 통해 소수점을 버릴 수 있다.
SQL> select round(45.926, 2), trunc(45.926, 2), mod(1600, 300), trunc(1600/300, 0)
2 from dual;
ROUND(45.926,2) TRUNC(45.926,2) MOD(1600,300) TRUNC(1600/300,0)
--------------- --------------- ------------- -----------------
45.93 45.92 100 5
예) ROUND함수에 0이하의 숫자를 두번째 인자에 써서 반올림할 수도 있다.
아래 45에서 일의 자리가 0, 십의 자리가 -1 이며 이 이하의 값 (에 : -2)을 지정하면 결과값이 0으로 출력된다.
SQL> select round(45.926, -1)
2 from dual;
ROUND(45.926,-1)
----------------
50
SQL> select round(45.926, 0)
2 from dual;
ROUND(45.926,0)
---------------
46
SQL> select round(45.926, -2) from dual;
ROUND(45.926,-2)
----------------
0
두번째 인자를 생략하면 ( , 0 ) 으로 지정한 것과 같다.
예) 인상급여와 증가분을 구하는 예제 (소수점 첫째자리 반올림)
SQL> select employee_id, last_name, salary,
2 round (salary*1.155) "New Salary",
3 round (salary*1.155 - salary) Increase
4 from employees;
EMPLOYEE_ID LAST_NAME SALARY New Salary INCREASE
----------- ------------------------- ---------- ---------- ----------
100 King 24000 27720 3720
101 Kochhar 17000 19635 2635
102 De Haan 17000 19635 2635
103 Hunold 9000 10395 1395
104 Ernst 6000 6930 930
105 Austin 4800 5544 744
106 Pataballa 4800 5544 744
SQL> select to_number('24,900.55', '99,999.99') from dual;
TO_NUMBER('24,900.55','99,999.99')
----------------------------------
24900.55
'DB' 카테고리의 다른 글
[오라클DB] DDL (0) | 2021.03.24 |
---|---|
[오라클 DB] 일반 함수/그룹함수 (0) | 2021.03.10 |
[오라클 DB] 함수-문자) (0) | 2021.02.26 |
[오라클 DB] DQL 심화학습 (0) | 2021.02.19 |
[오라클 DB] 온라인에서 Oracle SQL 테스트하기 (0) | 2021.02.19 |