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
TAGS.

Comments