본문 바로가기

📚Study Note/ORACLE

[ ORACLE ] ROUND() TRUNC() MOD() POWER() SQRT() LOG() SIN/ASIN() COS/ACOS() TAN/ATAN() SIGN() ASCII() CHR()

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

-- 숫자형 함수


--● ROUND() 반올림 처리해주는 함수
SELECT 48.678 "1"
    ,  ROUND(48.678,2) "2"
                   --- 소수점 둘째자리까지 표현
    ,  ROUND(48.674,2) "3"
    ,  ROUND(48.678,1) "4"
    ,  ROUND(48.678,0) "5"
    ,  ROUND(48.678) "6"
    ,  ROUND(48.678,-1) "7" -- 10의 자리까지 유효한 표현
    ,  ROUND(48.678,-2) "8"
    ,  ROUND(48.678,-3) "9"
FROM DUAL;

--==>>48.678	48.68	48.67	48.7	49	49	50	0	0


-- ● TRUNC() 절삭을 처리해주는 함수
SELECT 48.678 "1"
    , TRUNC(48.678, 2) "2"   -- 소수점 이하 둘째자리까지 표현(세째 자리에서 절삭)
    , TRUNC(48.674, 2) "3" 
    , TRUNC(48.678,1) "4"
    , TRUNC(48.678,0) "5"
    , TRUNC(48.678) "6"
    , TRUNC(48.678,-1) "7" -- 10의 자리까지 유효한 표현
    , TRUNC(48.678,-2) "8"
    , TRUNC(48.678,-3) "9"
FROM DUAL;

--==>48.678	48.67	48.67	48.6	48	48	40	0	0

-- ● MOD() 나머지를 반환하는 함수

SELECT MOD(5,2) "확인"
FROM DUAL;

--==>> 1
--> 5를 2로 나눈 나머지 결과값 반환

-- ● POWER() 제곱의 결과를 반환하는 함수
SELECT POWER(5,3) "확인"
FROM DUAL;
--===>> 125

--> 5의 3승을 결과값으로 반환

-- ● SQRT() 루트 결과값을 반환하는 함수
SELECT SQRT(2) "확인"
FROM DUAL;
--==>> 1.41421356237309504880168872420969807857
--> 루트 2에 대한 결과값 반환

-- ● LOG() 로그 함수
-- ( ※ 오라클은 상용로그만 지원하는 반면, MSSQL은 상용로그 자연로그 모두 지원한다.)
SELECT LOG(10,100) "확인1", LOG(10,20) "확인2"
FROM DUAL;

--===>>2	1.30102999566398119521373889472449302677

-- ● 삼각함수
-- 싸인, 코싸인, 탄젠트 결과값을 반환한다.
SELECT SIN(1), COS(1), TAN(1)
FROM DUAL;

--==>>0.8414709848078965066525023216302989996233	0.5403023058681397174009366074429766037354	1.557407724654902230506974807458360173008
-- ● 삼각함수의 역함수(범위 :-1 ~ 1)  
-- 어싸인, 어코싸인, 어탄젠트 결과값을 반환한다.
SELECT ASIN(0.5), ACOS(0.5), ATAN(0.5)
FROM DUAL;
/*0.52359877559829887307710723054658381405	
1.04719755119659774615421446109316762805	
0.4636476090008061162142562314612144020295*/

--● SIGN()          서명, 부호, 특징
--> 연산 결과값이 양수이면 1 , 0이면 0, 음수이면 -1 을 반환한다.


SELECT SIGN(5-2) "1", SIGN(5-5) "2", SIGN(5-7) "3"
FROM DUAL;

--==>>1	0	-1

--> 매출이나 수지와 관련하여 적자 및 흑자의 개념을 나타낼 때 주로 사용한다.


--●ASCII(), CHR() → 서로 상응하는 개념의 함수

SELECT ASCII('A'), CHR(65)
FROM DUAL;

--===>>65	A
-- ASCII() 는 매개변수의 아스키코드를, CHR() 는 아스키코드값을 문자로 반환한다.