반올림 함수
ROUND(숫자, 소수점 자릿수)
버림 함수
TRUNC(숫자, 소수점 자릿수)
ex)
TRUNC(987.654, 2) => 987.65
TRUNC(987.654, -1) => 980
나머지 계산 함수
MOD(숫자, 숫자2)
ex) MOD(121, 10) => 1
함수 내 숫자보다 큰 숫자 중에서 가장 작은 정수
천장이라고 생각하면 쉽다.
CEIL(숫자)
ex) CEIL(123.45) => 124
함수 내 숫자보다 작은 숫자 중에서 가장 큰 정수
바닥이라고 이해하면 쉽다.
FLOOR(숫자)
ex) FLOOR(123.45) => 123
제곱 계산
POWER(숫자1, 숫자2)
ex) POWER(2,3) => 8
현재 날짜와 시간 반환
ex) SELECT SYSDATE
=> 25/10/16
두 날짜 사이 개월 수 계산
MONTHS_BETWEEN('날짜1', '날짜2')
이때 날짜1은 날짜2보다 숫자가 커야한다.
순수하게 날짜에 달(개월)만 더한다.
ADD_MONTHS(날짜, 정수 숫자)
ex)
SELECT SYSDATE, ADD_MONTHS(SYSDATE, 1) FROM dual;
=> 25/10/18 | 25/11/18
다음 요일의 날짜 반환
만약 오늘이 수요일이라면, next_day(sysdate, '월') 이라고 쓰면 다음주 월요일의 날짜를 반환해준다.
ex)
SELECT NEXT_DAY(SYSDATE, '월') FROM dual;
=> 25/10/20
주어진 날짜가 속한 달의 마지막 날짜 반환
LAST_DAY(날짜)
ex)
SELECT SYSDATE, LAST_DAY(SYSDATE) FROM dual;
=> 25/10/18 | 25/10/31
SELECT LAST_DAY('24/10/5') FROM dual;
=> 24/10/31
ROUND는 날짜 하루 올림, TRUNC는 해당 날짜 초기화 느낌.
sysdate가 10월 16일일 경우,
ROUND(SYSDATE) => 25/10/17
TRUNC(SYSDATE) => 25/10/16