Or02Number
/*******
# 파일명 : Or02Number.sql
# 숫자(수학)관련함수
# 설명 : 숫자데이터를 처리하기위한 수학관련 함수
*******/
/*
DUAL테이블
: 한 행으로 결과를 출력하기 위해 제공되는 테이블로 오라클에서
자동으로 생성됨.
DUAL테이블은 varchar2(1)로 정의된 DUMMY(라는 단 하나의 칼럼으로 구성되어 있고,
단 한개의 행만을 가지고 있다.
*/
select * from dual;
desc dual;
-- abs() : 절대값 구하기
select abs(-25) AS "-25의 절대값" from dual;
-- trunc() : 소수점을 특정자리수에서 잘라냄
/*
사용법 : trunc(컬럼명 혹은 값, 소수점이하자리수)
두번째 인자로 주어진 숫자만큼 소수점이 표현된다.
인자가 마이너스인 경우에는 정수부분을 해당인자만큼 자르고 0으로 채운다.
*/
select trunc(1234.123456, 2) "trunk양수인자" from dual; --결과 : 1234.12
select trunc(1234.123456) AS "trunc인자없음" from dual; --결과 : 1234
select trunc(1234.123456, -2) AS "trunc음수인자" from dual; -- 결과 : 1200
-- cell() : 무조건 소수점이하를 올림처리함.
select ceil(32.8) from dual; --결과: 33
select ceil(32.1) from dual; --결과: 33
-- floor() : 무조건 소수점이하를 내림처리함.
select floor(32.8) from dual; -- 결과 :32
select floor(32.1) from dual; -- 결과 :32
-- round() : 소수점이하를 반올림처리함.
/*
사용법 : round(값, 소수점자리수)
두번째 인자로 주어지는 소수점자리수까지 표현되므로 그 다음에 어떤 수가
오는지에 따라 반올림 처리됨.
*/
select round(0.123), round(0.543) from dual; -- 결과 : 0 , 1
select round(0.12345678, 6), round(2.345612, 4) from dual;
-- 결과 : 0.123457(버려지는 수가 7이므로 올림)
-- 2.3456(버려지는 수가 1이므로 내림)
/*
power() : 거듭제곱을 게산할 때 사용하는 함수
사용법 : power(K, N) -> K를 N번 곱한 결과를 반환
*/
select power(4,3) AS "4의 3승" from dual; --결과 : 64
/*
mod() : 나머지를 구하는 함수
*/
select mod(99,4) as "99를 4로 나눈 나머지" from dual;
/*
sqrt() : 제곱근(루트)를 구하는 함수
*/
select sqrt(64) as"64의 제곱근",sqrt(3) as"3의제곱근" from dual;
/*
문제] 위 쿼리문중 3의제곱근 부분을 소수점 둘째자리까지 표현하시오
*/
select round(sqrt(3),2) as"3의제곱근" from dual;
select round(sqrt(3),2) as"3의제곱근" from dual;
'프로그래밍 > Oracle' 카테고리의 다른 글
Or05Date (0) | 2017.11.15 |
---|---|
Or04TypeConvert (0) | 2017.11.15 |
Or03String (0) | 2017.11.15 |
ExSchool01 (0) | 2017.11.15 |
Or14View (0) | 2017.11.14 |