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
*블로그의 내용은 알클님 강의를 기반으로 작성되었습니다!
'SQL공부' 카테고리의 다른 글
ORACLE 오라클 SQL8 - NULL (1) | 2025.01.14 |
---|---|
ORACLE 오라클 SQL 7 - 변환함수, 날짜함수 (0) | 2025.01.14 |
ORACLE 오라클 SQL 4 - SELECT 조회(기초) (0) | 2025.01.13 |
ORACLE 오라클 SQL 2 - HR 계정 생성하기 (0) | 2025.01.13 |
ORACLE 오라클 SQL 1 - 오라클 설치 (0) | 2025.01.13 |