[Oracle] 단일행함수: 숫자 및 날짜 관련

heegon·2025년 10월 18일

SQL

목록 보기
6/7

ROUND

반올림 함수
ROUND(숫자, 소수점 자릿수)


TRUNC

버림 함수
TRUNC(숫자, 소수점 자릿수)

ex)
TRUNC(987.654, 2) => 987.65
TRUNC(987.654, -1) => 980


MOD

나머지 계산 함수
MOD(숫자, 숫자2)

ex) MOD(121, 10) => 1


CEIL

함수 내 숫자보다 큰 숫자 중에서 가장 작은 정수
천장이라고 생각하면 쉽다.
CEIL(숫자)

ex) CEIL(123.45) => 124


FLOOR

함수 내 숫자보다 작은 숫자 중에서 가장 큰 정수
바닥이라고 이해하면 쉽다.
FLOOR(숫자)

ex) FLOOR(123.45) => 123


POWER

제곱 계산
POWER(숫자1, 숫자2)

ex) POWER(2,3) => 8


SYSDATE

현재 날짜와 시간 반환

ex) SELECT SYSDATE
=> 25/10/16


MONTHS_BETWEEN

두 날짜 사이 개월 수 계산
MONTHS_BETWEEN('날짜1', '날짜2')
이때 날짜1은 날짜2보다 숫자가 커야한다.


ADD_MONTHS

순수하게 날짜에 달(개월)만 더한다.
ADD_MONTHS(날짜, 정수 숫자)

ex)
SELECT SYSDATE, ADD_MONTHS(SYSDATE, 1) FROM dual;
=> 25/10/18 | 25/11/18


NEXT_DAY

다음 요일의 날짜 반환
만약 오늘이 수요일이라면, next_day(sysdate, '월') 이라고 쓰면 다음주 월요일의 날짜를 반환해준다.

ex)
SELECT NEXT_DAY(SYSDATE, '월') FROM dual;
=> 25/10/20


LAST_DAY

주어진 날짜가 속한 달의 마지막 날짜 반환
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 날짜 함수

ROUND는 날짜 하루 올림, TRUNC는 해당 날짜 초기화 느낌.

sysdate가 10월 16일일 경우,
ROUND(SYSDATE) => 25/10/17
TRUNC(SYSDATE) => 25/10/16

profile
❤️

0개의 댓글