Cracking Code

SQL - CEIL, FLOOR, ROUND,TRUNC 본문

Database

SQL - CEIL, FLOOR, ROUND,TRUNC

CrackCo 2020. 7. 17. 14:21
숫자 데이터형의 소숫점 자리를 처리할 수 있는 함수에 대해 알아보겠습니다.

1. CEIL

주어진 숫자보다 크거나 같은 최소의 정수를 리턴합니다.

CEIL(column | expression)

 

CEIL 함수에 10.1을 인자로 받아 출력해봅니다.

SELECT CEIL(10.1) FROM DUAL;

10.1 보다 크거나 같은 최소의 정수인 11이 출력되는 것을 확인할 수 있습니다.

 

 

2. FLOOR

주어진 숫자보다 작거나 같은 최대의 정수를 리턴합니다.

FLOOR(column | expression)

 

FLOOR 함수에 10.1을 인자로 받아 출력해봅니다.

SELECT FLOOR(10.1) FROM DUAL;

CEIL 과는 반대로 10.1 보다 작거나 같은 최대의 정수인 10이 출력되는 것을 확인할 수 있습니다.

 

3. ROUND

소숫점을 n만큼 옮긴다고 가정하고 그 위치의 오른쪽 자리에서 반올림합니다.

ROUND(column | expression, [n])

n이 양수일 땐 오른쪽, 음수일 땐 왼쪽으로 이동합니다.

 

ROUND 함수에 1234.567 과 케이스 별로 n 값을 인자로 받아 출력해봅니다.

SELECT ROUND(1234.567), ROUND(1234.567, 0),
    ROUND(1234.567, 2), ROUND(1234.567, -2)
FROM DUAL;

첫 번째와 두 번째는 둘 다 소숫점 위치에서 오른쪽 숫자가 반올림 되어 1235를 출력합니다.

세 번째는 소숫점을 2 만큼 옮겼다고 가정 했을 때 그 위치는 6과 7 사이입니다.

그러므로 오른쪽 숫자인 7에서 반올림하여 1234.57을 출력합니다.

네 번째는 소숫점을 -2 만큼 옮겼다고 가정 했을 때 그 위치는 2와 3 사이입니다.

그러므로 오른쪽 숫자인 3에서 반올림하여 1200을 출력합니다.

 

4. TRUNC

소숫점을 n만큼 옮긴다고 가정하고 그 위치의 오른쪽은 버립니다.

TRUNC(column | expression, [n])

n이 양수일 땐 오른쪽, 음수일 땐 왼쪽으로 이동합니다.

 

TRUNC 함수에 1234.567 과 케이스 별로 n 값을 인자로 받아 출력해봅니다.

SELECT TRUNC(1234.567), TRUNC(1234.567, 0),
    TRUNC(1234.567, 2), TRUNC(1234.567, -2)
FROM DUAL;

첫 번째와 두 번째는 둘 다 소숫점 위치에서 오른쪽 숫자부터 버려져 1234를 출력합니다.

세 번째는 소숫점을 2 만큼 옮겼다고 가정 했을 때 그 위치는 6과 7 사이입니다.

그러므로 오른쪽 숫자인 7부터 버려져 1234.56을 출력합니다.

네 번째는 소숫점을 -2 만큼 옮겼다고 가정 했을 때 그 위치는 2와 3 사이입니다.

그러므로 오른쪽 숫자인 3부터 버려져 1200을 출력합니다.

'Database' 카테고리의 다른 글

SQL - TO_CHAR, TO_NUMBER, TO_DATE  (0) 2020.07.19
SQL - MONTHS_BETWEEN, ADD_MONTHS, NEXT_DAY  (0) 2020.07.18
SQL - REPLACE  (0) 2020.07.16
SQL - LENGTH  (0) 2020.07.16
SQL - TRIM, LTRIM, RTRIM  (0) 2020.07.16
Comments