SQL의 숫자 함수, 날짜 계산 함수
숫자함수
round, trunc, mod, power
round
반올림 하는 함수
예)
select 2567.56, round(2567.56)
from dual;
결과)
2567.56, 2567.6
trunc
잘라내는 함수
예)
select 2567.56, trunc(2567.56, 1)
from dual;
결과)
2567.56, 2567.5
설명)
trunc(OOO.OO, 1)은 소수 첫번째 자리 아래로 모두 날려버린다는 의미
mod
나눈 나머지 값을 출력하는 함수
예)
select mod(10, 3)
from dual;
결과)
1
설명)
10을 3으로 나눈 나머지
power
power(a, b) a의 b제곱
예)
select power(2, 3)
from dual;
결과)
8
months_between
months_between(a, b)
: b 날짜부터 a 날짜까지 총 개월 수
예)
select ename, round(months_between(sysdate, hiredate))
from emp;
테이블 설명)
add_months
add_months(a, b)
: a 날짜에서 b개월을 더해준 값
예)
select sysdate + 100 from dual;
결과)
예)
select sysdate, add_months(sysdate, 100)
from dual;
결과)
next_day
next_day(a, b)
: a 날짜부터 b(요일) 이 돌아오는 날짜를 구하는 함수
예)
select sysdate, next_day(sysdate, 'monday')
from dual;
결과)
설명)
오늘 날짜: 2021년 12월 15일
다음 '월요일'이 오는 날짜: 2021년 12월 20일
last_day
last_day(날짜)
: 해당 날짜의 마지막 날짜 출력
예)
select sysdate, last_day(sysdate)
from dual;
결과)
>> 12월 31일
예 2) 오늘부터 이번 달 말일까지 몇 일 남았는지 출력하시오
정답)
select last_day(sysdate) - sysdate
from dual;
결과)