SQL공부

ORACLE 오라클 SQL 5 - 숫자함수

Irene1988 2025. 1. 14. 00:24
728x90

DBMS마다 제공하는 함수가 있다. 이 숫자함수들도 SQL에서 기본적으로 제공하는 함수라고 생각하면 된다.

국비들을 때 가장 힘든게 바로 이런 함수들의 하나하나 기본적인 기능을 직접 쳐보고 익히고, 외워야 할 것들은 외워야 했는데...

지금은 기억이 나질 않는다.

알클님 유튜브 강의를 들으며, 어떻게된 기억을 되살려 열심히 SELECT문을 작성했다.

 

CEIL(인자) 인자보다 크거나 같은 정수 중 제일 작은 수를 반환하는 함수
예) CEIL(12.34) : 13 (결과값은 정수)
FLOOR(인자) 인자보다 작거나 같은 정수 중 제일 큰 수를 반환하는 함수
예) FLOOR(12.34) : 12 (결과값은 정수)
ROUND(인자, 자리수) 인자를 지정한 자리수에서 반올림한 값을 반환하는 함수
MOD(인자1, 인자2) 인자1을 인자2로 나눈 나머지를 반환하는 함수
POWER(인자1, 인자2) 인자1을 인자2로 제곱하는 값을 반환하는 함수
SQRT(인자) 인자의 제곱근을 구한 값을 반환하는 함수
TRUNC(인자, 자리수) 인자를 자리수에서 절삭한 값을 반환하는 함수
ABS(인자) 인자의 절대값을 반환하는 함수

사실 저렇게 적고 외운다 해도, 막상 아무것도 생각이 나지 않는다.

코드를 한번 작성하여 실행해보자!

 

알클님 오라클 숫자함수 강의

https://www.youtube.com/watch?v=vj-yiEa9phQ&list=PL4C2AmBC9jOYAQrvie3y5c8GN01KGq5WR&index=14

 

 

 

21. 12.45, - 12.45보다 크거나 같은 정수 중 제일 작은 수를 계산하는 SQL문

SELECT CEIL(12.45), CEIL(-12.45) FROM dual;

 

- dual: 산술 연산, 함수 결과 등을 확인할 수 있는 임시 테이블

- FROM은 필수 키워드


 

22. 12.55와 -12.55보다 작거나 같은 정수 중 가장 큰 수를 계산하는 SQL문

SELECT FLOOR(12.55), FLOOR(-12.55)
FROM dual;

 

23. 각 소문제에 제시된 수와 자리 수를 이용하여 반올림하는 SQL문

---- 0.54를 소수점 아래 첫째 자리에서 반올림하시오.
SELECT ROUND(0.54, 0) FROM dual;  -- 결과 1
---- 0.54를 소수점 아래 둘째 자리에서 반올림하시오.
SELECT ROUND(0.54,1) FROM dual; --결과 0.5
---- 125.67을 일의 자리에서 반올림하시오.
SELECT ROUND(125.67, -1) FROM dual; -- 결과 130
---- 125.67을 십의 자리에서 반올림하시오.
SELECT ROUND(125.67,-2) FROM dual;  -- 결과 100

24. 각 소문제에 제시된 두 수를 이용하여 나머지를 구하는 SQL

MOD(A,B) : A를 B로 나눈 나머지를 구하는 함수

-- 3을 8로 나눈 나머지
SELECT MOD(3,8) FROM dual; -- 결과 3
-- 30을 4로 나눈 나머지
SELECT MOD(30, 4) FROM dual; -- 결과 2

25. 각 소문제에 제시된 두 수를 이용하여 제곱수를 구하는 SQL문

-- 2의 10제곱을 구하시오.
SELECT POWER(2,10) FROM dual; --- 결과값 1024
-- 2의 31제곱을 구하시오.
SELECT POWER(2,31) FROM dual;  --- 결과값 2147483648

26. 각 소문제에 제시된 수를 이용하여 제곱근을 구하는 SQL

-- 2의 제곱근을 구하시오
SELECT SQRT(2) FROM dual; --- 결과값 1.41421356237309504880168872420969807857
-- 100의 제곱근을 구하시오
SELECT SQRT(100) FROM dual; --- 결과값 10

 


27. 각 소문제에 제시된 수와 자리 수를 이용하여 해당 수를 절삭하는 SQL문

-- 527425.1234을 소수점 아래 첫째 자리에서 절삭하시오.
SELECT TRUNC(527425.1234,0) FROM dual;  -- 결과값: 527425
-- 527425.1234을 소수점 아래 둘째 자리에서 절삭하시오.
SELECT TRUNC(527425.1234,1) FROM dual; -- 결과값: 527425.1
-- 527425.1234을 일의 자리에서 절삭하시오.
SELECT TRUNC(527425.1234,-1) FROM dual;  -- 결과값: 527420
-- 527425.1234을 십의 자리에서 절삭하시오.
SELECT TRUNC(527425.1234,-2) FROM dual; -- 결과값: 527400

28.각 소문제에 제시된 수를 이용하여 절댓값을 구하는 SQL문

-- -20의 절댓값을 구하시오.
SELECT ABS(-20) FROM dual; -- 결과값: 20
-- -12.456의 절댓값을 구하시오.
SELECT ABS(-12.456) FROM dual; --결과값: 12.456

 

 

*블로그의 내용은 알클님 강의를 기반으로 작성되었습니다!

728x90