[83일차] TRUNC와 ROUND의 차이

저요·2022년 12월 14일

2022 100th day challenge

목록 보기
82/97

서론

오라클에서 보통 숫자를 소수점 몇 자리까지 나타내고 싶을 때 우리는 TRUNC와 ROUND를 사용한다.
둘은 비슷한 기능을 가지고 있는데 과연 어떤 차이가 있을지 오늘 비교해 보고자 한다.

본론

TRUNC 사용법

TRUNC는 오라클의 기본함수로, 소수점을 절사할때 외에도 날짜와 시간까지 절사하는 것이 가능하다.
기본 문법은 다음과 같다.

TRUNC(값, 옵션);

이것을 이용해 데이터를 절사하는 예제를 아래에서 이어서 보여주도록 하겠다.

숫자 절사하기

년, 월, 일 절사하기



이때 년과 월은 YYYY, MM 으로도 표기 가능하다.

DAY는 해당 주의 일요일로 날짜를 초기화 해준다.

시간 절사하기



ROUND 사용법

ROUND는 옵션으로 지정한 소숫점 자리까지 반올림해서 나타내는 함수이다.
기본 문법은 다음과 같다.

ROUND(값, 자릿수);

SQL문법에 ROUND(값, 자릿수, 옵션); 이렇게 반올림 옵션을 줄 수도 있기도 하지만, 오라클에서는 지원하지 않는다.

세번째 자릿수에서 반올림

아까와 똑같이 2자리 수까지 절사하기 위해서 자릿수 옵션에 2를 넣어주었다. 그 결과 뒤의 숫자가 반올림 되어서 123.45가 아닌 123.46이 출력되었다.

마이너스 자릿수 옵션 주기

-1일 경우

-2일 경우

TRUNC 와 ROUND의 차이

  • TRUNC는 소숫점 아래를 절사하고, ROUND는 반올림을 한다.
  • TRUNC를 이용하면 숫자 외에 날짜, 시간 데이터도 절사가 가능하다.

참고

https://www.w3schools.com/sql/func_sqlserver_round.asp
https://gent.tistory.com/192

profile
웹개발

0개의 댓글