Study/SQL

4.숫자 함수

로롤로롱 2023. 4. 26. 22:05

/*
함수 : 컬럼의 값을 읽어서 결과를 반환
함수를 기술할 수 있는 위치 : SELECT, WHERE, ORDER BY, GROUP BY, HAVING

[숫자함수]
1) ASB(NUMBER)
    - 절대값을 반환
*/

SELECT ABS(10.9), ABS(-10.9)
FROM DUAL;

/*
2) MOD(NUMBER, NUMBER)
    - 두 수를 나눈 나머지를 반환해주는 함수(자바의 %연산과 동일)    
*/

SELECT MOD(3,2), MOD(-3,2), MOD(3,0), MOD(10.9,3)
FROM DUAL;

/*
3) ROUND(NUMBER[,위치])
    - 위치를 지정하여 반올림 해주는 함수
    - 위치를 양의 수로 : 소수점 기준으로 오른쪽 지정한 위치까지 출력
    - 위치를 음의 수로 : 소수점 기준으로 왼쪽 지정한 위치를 반올림(정수부분)
    - 위치를 지정하지 않으면 첫번째 자리에서 반올림
    - 음수일경우 ceil과 floor 비슷
*/

SELECT ROUND(15.24576), ROUND(15.24576,-1), ROUND(15.24576,1) -- 1은 두번째자리에서 반올림
FROM DUAL;
SELECT ROUND(-15.24576)
FROM DUAL;

/*
4) CEIL(NUMBER)
    - 소수점을 기준으로 올림, 인수 하나만 입력 가능
    - 인자값이 음수인 경우 인수로 지정한 수치보다 크고 가까운 정수를 반환
      (음수에서 소수점을 절삭하는 느낌)
*/

SELECT CEIL(10.55)
FROM DUAL;

SELECT CEIL(-10.55)
FROM DUAL;

/*
5) FLOOR(NUMBER)
    - 소수점을 기준으로 버림, 인수 하나만 입력 가능
    - 인자값이 음수인 경우 소수점을 내림할경우 음수값이 커짐
*/

SELECT FLOOR(10.55)
FROM DUAL;

SELECT FLOOR(-10.55)
FROM DUAL;

/*
6) TRUNC(NUMBER[,위치];
    - 위치를 지정하여 버림이 가능한 함수 
    - 위치 : 양수(소수점 기준으로 오른쪽) 지정한 위치까지 보여줌
    - 위치 : 음수(소수점 기준으로 왼쪽)
*/

SELECT TRUNC(10.55,-2)
FROM DUAL;

/*
7) POWER(NUMBER1, NUMBER2)
    -  NUMBER1을 NUMBER번 제곱한 결과를 반환
*/

SELECT POWER(2, 3)
FROM DUAL;