오라클에서 보통 숫자를 소수점 몇 자리까지 나타내고 싶을 때 우리는 TRUNC와 ROUND를 사용한다.
둘은 비슷한 기능을 가지고 있는데 과연 어떤 차이가 있을지 오늘 비교해 보고자 한다.
TRUNC는 오라클의 기본함수로, 소수점을 절사할때 외에도 날짜와 시간까지 절사하는 것이 가능하다.
기본 문법은 다음과 같다.
TRUNC(값, 옵션);
이것을 이용해 데이터를 절사하는 예제를 아래에서 이어서 보여주도록 하겠다.



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

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



ROUND는 옵션으로 지정한 소숫점 자리까지 반올림해서 나타내는 함수이다.
기본 문법은 다음과 같다.
ROUND(값, 자릿수);
SQL문법에 ROUND(값, 자릿수, 옵션); 이렇게 반올림 옵션을 줄 수도 있기도 하지만, 오라클에서는 지원하지 않는다.

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

-2일 경우

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