본문 바로가기

db/oracle

oracle 소수점 이하 버림

반응형

oracle 소수점 이하 버림

오라클에서 소수점 이하를 버리는 방법은 TRUNC 함수와 FLOOR 함수를 사용하는 것입니다. 두 함수는 특정 상황에 따라 다르게 작동합니다.

1. TRUNC 함수

TRUNC는 지정한 자릿수 아래를 절사 하는 함수입니다. 자릿수를 생략하면 기본값인 0으로 간주하여 소수점 아래를 모두 버립니다.

TRUNC(number, [decimal_places])
  • number: 소수점 이하를 버릴 숫자
  • decimal_places: 남길 소수점 이하 자릿수 (선택 사항)

예시

-- 소수점 이하 전체 버리기
SELECT TRUNC(123.456) FROM DUAL; -- 결과: 123

-- 소수점 첫째 자리까지 남기고 버리기
SELECT TRUNC(123.456, 1) FROM DUAL; -- 결과: 123.4

-- 소수점 위로 버리기 (일의 자리 버림)
SELECT TRUNC(123.456, -1) FROM DUAL; -- 결과: 120

 

2. FLOOR 함수

FLOOR는 주어진 숫자보다 작거나 같은 가장 큰 정수를 반환하는 함수입니다. 양수일 때는 TRUNC와 동일하게 작동하지만, 음수일 때는 다르게 작동합니다.

FLOOR(number)

예시

-- 양수일 때 (TRUNC와 동일)
SELECT FLOOR(123.456) FROM DUAL; -- 결과: 123

-- 음수일 때 (TRUNC와 다름)
SELECT FLOOR(-123.456) FROM DUAL; -- 결과: -124
SELECT TRUNC(-123.456) FROM DUAL; -- 결과: -123

TRUNC 차이 FLOOR

  • FLOOR는 항상 음의 무한대 방향으로 내림합니다.
  • TRUNC는 항상 0에 가까운 방향으로 소수점 이하를 버립니다.

※ 소수점 이하를 단순히 버리는 용도로는 TRUNC가 더 일반적으로 사용

※음수 값을 다룰 때 미세한 차이가 있으므로 상황에 맞게 사용

반응형

'db > oracle' 카테고리의 다른 글

oracle truncate 프로시져 사용 방법  (0) 2025.09.13
oracle DDL, DML 차이점  (0) 2025.09.13
오라클 숫자 앞에 0 추가, LPAD  (0) 2025.09.13
oracle connect by level 함수  (0) 2025.09.13
union all union 차이점  (0) 2025.09.13