SQL [6] - 숫자 함수와 날짜 함수
<숫자 함수>
1.round : 반올림
round(컬럼 또는 숫자, 표시되는 소숫점이하 자리수)
select round(12.34567,2) from dual;

2.trunc : 버림
trunc(컬럼 또는 숫자, 표시되는 소숫점이하 자리수)
select trunc(12.34567,2) from dual;

3. mod : 나머지 출력
mod(컬럼 또는 숫자, 나눌수)
select mod(10,3) from dual;

4. ceil : 큰 근사정수 / floor : 작은 근사정수
select ceil(12.12345) from dual;
select floor(12.12345) from dual;


5. power : 제곱함수
select power(2,3) from dual;

6. abs : 절대값
select abs(12.3005) from dual;

7. sign : 대상 숫자가 양수면 1로 음수면 -1로 출력
select sign(5) from dual;

select sign(-5) from dual;

<날짜 함수>
1. sysdate : 현재 날짜를 리턴. 예약어
select sysdate from dual;

2. months_between : 두 날짜 사이의 개월수 리턴. 한달이 안된 경우는 소수점으로 표현
-- months_between(날짜1,날짜2) 날짜1-날짜2의 차이를 리턴
select months_between('21/01/15','21/05/01') from dual;

3. add_months : 개월 수를 더한 후의 날짜 리턴
-- 현재일 기준으로 3개월 후 또는 3개월 전 날짜 출력 가능
select sysselect sysdate,add_months(sysdate,3),add_months(sysdate,-3) from dual;

4. next_day : 날짜 다음의 지정한 요일에 해당하는 날짜 리턴
-- 일 : 1 , 월 : 2 , 화 : 3, ... , 토 : 7 표시 가능
-- 아래 기준일 2021년 5월 2일에서 다음 일요일은 5월 9일, 다음 월요일은 5월 3일
화요일은 5/4, 수요일은 5/5, 목요일은 5/6, 금요일은 5/7, 토요일은 5/8로 출력된다.

select sysdate, next_day(sysdate,1), next_day(sysdate, '일') from dual;

select sysdate, next_day(sysdate,2), next_day(sysdate, '월') from dual;

select sysdate, next_day(sysdate,3), next_day(sysdate, '화') from dual;

select sysdate, next_day(sysdate,4), next_day(sysdate, '수') from dual;

select sysdate, next_day(sysdate,5), next_day(sysdate, '목') from dual;

select sysdate, next_day(sysdate,6), next_day(sysdate, '금') from dual;

select sysdate, next_day(sysdate,7), next_day(sysdate, '토') from dual;

5. last_day : 해당 월의 마지막 날짜 리턴
select sysdate, last_day(sysdate) from dual;

select '21/02/02', last_day('21/02/02') from dual;

select '21/04/02', last_day('21/04/02') from dual;
