본문 바로가기

SQL

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;

ceil
floor

 

 

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;

작성 기준 날짜 2021년 4월 28일

 

 

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;