WEB/Back-end

(SQL) 숫자데이터 가공 함수

최새벽 2024. 7. 29. 20:33

숫자데이터 가공 함수

  • ROUND : 지정 위치에서 반올림
select round(1234.5678) as round,
round(1234.5678, 0) as round_0,
round(1234.5678, 1) as round_1, -- 소수점 한 자리까지
round(1234.5678, 2) as round_2,
round(1234.5678, -1) as round_minus1, -- 십의 자리까지 
round(1234.5678, -2) as round_minus2 -- 벡의 자리까지
from dual;
  • TRUNC : 지정 위치에서 버림
select trunc(1234.5678) as trunc,
trunc(1234.5678, 0) as trunc_0,
trunc(1234.5678, 1) as trunc_1,
trunc(1234.5678, 2) as trunc_2,
trunc(1234.5678, -1) as trunc_minus1,
trunc(1234.5678, -2) as trunc_minus2
from dual;
  • CEIL : 올림
  • FLOOR : 버림
  • MOD : 지정 숫자 나눈 나머지 값

 

날짜

Oracle DB가 놓인 서버의 OS에서의 현재 날짜와 시간을 보여줌

select sysdate, sysdate - 1, sysdate + 1 from dual; -- 오늘 어제 내일
select sysdate, add_months(sysdate, 3) from dual; -- 3개월 뒤 날짜
select trunc(months_between('2024-09-12', sysdate)) as "남은 개월" from dual;
-- 두 날짜간의 개월 수 차이

select sysdate, 
next_day(sysdate, '월요일'), -- 다음 요일
last_day(sysdate) -- 달의 마지막 날짜
from dual;

select substr(sysdate, 1, 4), substr(sysdate, 1, 10) from dual; -- substr로 표기