ROUND Function
ROUND (number [, Integer])
숫자를 지정된 소수 자릿수로 반올림하는 함수입니다.
날짜 형식에도 사용이 되며, 날짜를 Format 형식으로 반올림합니다.
숫자형
ROUND (number [, Integer])
소수점을 중심으로 오른쪽의 Interger의 자리 수를 반올림합니다.
number가 양수이면 아래 공식이 성립합니다.
ROUND (number, integer) = FLOOR (number * POWER (10, integer) + 0.5) * POWER (10, -integer)
매개변수
number
- 반올림되는 숫자 값입니다.
Integer
- number을 반올림할 소수점 이하 자릿수입니다.
- 생략되면 number는 소수점 1번째 위치에서 반올림됩니다.
- 자를 소수점 이하 자릿수입니다.
- 양수이면 오른쪽 자릿수가 잘리고 음수이면 왼쪽 자릿수가 잘립니다.
Example Data
EX 1) 정상적으로 사용했을 경우
WITH TEMP AS (
SELECT 1234.5678 AS COL
FROM DUAL
)
SELECT COL
, ROUND(COL) -- 1번째 위치에서 반올림 ROUND(COL, 0)와 동일함
, ROUND(COL, 1) -- 1번째 위치에서 반올림
, ROUND(COL, 2) -- 2번째 위치에서 반올림
, ROUND(COL,-1) -- 정수 1번째 위치에서 반올림
, ROUND(COL,-2) -- 정수 2번째 위치에서 반올림
FROM TEMP;
EX 2) 자릿수 범위 초과
WITH TEMP AS (
SELECT 1234.5678 AS COL
FROM DUAL
)
SELECT COL
, ROUND(COL, 5) -- 자릿수 범위 초과 ROUND(1234.56780)와 동일함
, ROUND(COL,-5) -- 자릿수 범위 초과 ROUND(01234.5678 -5)와 동일함
FROM TEMP;
날짜형
ROUND(date [, format])
특정 측정 단위(format)로 반올림된 날짜를 반환합니다.
매개변수
date
- 반올림 되는 날짜 값입니다.
format
- 지정되지 않은 경우 가장 가까운 날짜로 반올림 합니다.
- 반올림하기 위해 적용할 Format 형식입니다.
단위 | Format 형식 |
Year | SYYYY, YYYY, YEAR, SYEAR, YYY, YY, Y |
ISO Year | IYYY, IY, I |
Quarter | Q |
Month | MONTH, MON, MM, RM |
Week | WW |
Week Number | IW |
Week | W |
Day | DDD, DD, J |
Start day of the week | DAY, DY, D |
Hour | HH, HH12, HH24 |
Minute | MI |
[날짜 ROUND에 사용 가능한 Format]
Example Data
EX 1) 가장 가까운 날짜로 반올림
- 16일에서 가장 가까운 날짜인 17일로 반올림되었습니다.
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') AS NOW_DATE
, TO_CHAR(ROUND( SYSDATE ), 'YYYY-MM-DD HH24:MI:SS') AS COL
FROM DUAL;
EX 2) 다음 달로 반올림
- 5월의 다음 달인 6월로 반올림되었습니다.
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') AS NOW_DATE
, TO_CHAR(ROUND( SYSDATE, 'MONTH' ), 'YYYY-MM-DD HH24:MI:SS') AS MONTH_COL
FROM DUAL;
EX 3) 다음 연도로 반올림되지 않을 경우
- 2021년 5월 16일이 2021년의 절반이 지나지 않아서 반올림되지 않았습니다.
SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') AS NOW_DATE
, TO_CHAR(ROUND( SYSDATE, 'YEAR' ), 'YYYY-MM-DD HH24:MI:SS') AS YEAR_COL
FROM DUAL;
반응형
'DataBase > Oracle' 카테고리의 다른 글
[ORACLE]문자열 자르는 SUBSTR 함수 (0) | 2021.05.17 |
---|---|
[ORACLE]공백 및 특정 문자를 제거하는 TRIM, LTRIM, RTRIM 함수 (0) | 2021.05.17 |
[ORACLE]소수점, 날짜 자르는 TRUNC 함수 (0) | 2021.05.16 |
[ORACLE]지정한 범위에서의 위치를 구하는 WIDTH_BUCKET함수 (0) | 2021.05.09 |
[ORACLE]올림 처리하는 CEIL 함수 (0) | 2021.05.09 |
댓글