[Oracle] 날짜 함수 - 날짜를 반올림 하는 ROUND 함수

날짜에 대한 반올림시에는 숫자 데이터를 다룰 때와는 달리 반올림의 기준이 될 포맷을 정의 합니다. 

ROUND ( 날짜 데이터, [반올림 기준 포맷] )

 

기준 포멧

기분포멧 기준단위
CC, SCC 네 자리 연도의 끝 두 자리 기준(2016년이면 2050 이하이므로 반올림하면 2001년으로 처리)
SYYYY, YYYY, YEAR, SYEAR, YYY, YY, Y 날짜 데이터의 해당 연/월/일의 7워 1일 기준(2016년 7월 1일인 경우 2017년으로 처리)
IYY, IY, I ISO 8601에서 제정한 날짜 기준 연도 포맷을 기준
Q 각 분기의 두 분째 달의 16일 기준
MONTH, MON, MM, RM 각 달의 6일 기준
WW 해당 연도의 주(1~53번째 주) 기준
IW ISO 8601에서 제정한 날짜 기준 해당 년도의 주(week) 기준
W 해당 월의 주(1~5번째 주) 기준
DDD, DD, J 해당 일의 정오(12:.00:00) 기준
DAY, DY, D 한 주가 시작되는 날짜가 기준
HH, HH12, HH24 해당 일의 시간 기준
MI 해당 일 시간의 분 기준

 

SELECT  SYSDATE,
        ROUND(SYSDATE, 'CC'),
        ROUND(SYSDATE, 'YYYY'),
        ROUND(SYSDATE, 'Q'),
        ROUND(SYSDATE, 'DDD'),
        ROUND(SYSDATE, 'HH')
FROM DUAL;

 

숫자 함수 - 특정 위치에서 반올림 함수(ROUND)

특정 숫자를 반올림하면서 반올림 할 위치를 지정할 수 있습니다. 지정하지 않으면 소수 첫째 자리에서 반올림한 결과를 반환합니다.

ROUND( 숫자, [반올림 위치] )

 

ROUND 함수를 이용하여 다양한 위치에서 반올림 을 해봅시다.

SELECT  ROUND(1234.6578), 
        ROUND( 1234.6578, 0),
        ROUND(1234. 6578, 1),
        ROUND(1234. 6578, 2),
        ROUND(1234. 6578, -1),
        ROUND(1234. 6578, -2)
FROM DUAL;

 

 

※ 예제로 사용된 TABLE의 정보는 'SCOTT 계정 예제 Table(emp, dept, salgrade)'을 참고하시면 됩니다.

 

 

 

 

round 함수는 숫자를 지정한 자릿수로 반올림 한다.

 

구문 : ROUND(number, num_digits)

    - number  : 반올림할 숫자(필수)

    - num_digits number : 인수를 반올림할 자릿수(필수)

 

예제 : 소수점 첫자리에서 반올림을 할 결과를 보여주는 예제       

 

주의 :

    - num_digits가 양수이면 number를 지정한 소수점 아래 자릿수로 반올림합니다.
    - num_digits가 0이면 number를 정수로 반올림합니다.
    - num_digits가 음수이면 number를 지정한 소수점 위 자리에서 반올림합니다.

 

참고 :
    - 항상 반올림하려면 ROUNDUP 함수를 사용합니다.
    - 항상 반내림하려면 ROUNDDOWN 함수를 사용합니다.
    - 숫자를 특정 배수(예: 가장 가까운 0.5로 반올림)로 반올림하려면 MROUND 함수를 사용합니다.

 

Daum 블로그 서비스 중지에 따라 blog.daum.net/fly_blue/ > 내가 잊지 않기 위해 > 엑셀(Excel) 2007 에서 이동
첫작성 : 2010. 2. 19.

 

+ Recent posts