TRUNCATE() 함수는 소수 자릿수 D로 잘린 X 값을 반환하는 데 사용됩니다. D가 0이면 소수점이 제거됩니다. D가 음수이면 값의 정수 부분에 있는 D개의 값이 잘립니다. 다음 예를 고려하십시오 –
mysql> Select TRUNCATE(7.536432,2); +----------------------+ | TRUNCATE(7.536432,2) | +----------------------+ | 7.53 | +----------------------+ 1 row in set (0.00 sec)
ROUND() 함수는 가장 가까운 정수로 반올림된 X를 반환합니다. 두 번째 인수 D가 제공되면 함수는 D 소수점 이하 자릿수로 반올림된 X를 반환합니다. D는 양수여야 하며 그렇지 않으면 소수점 오른쪽의 모든 숫자가 제거됩니다. 다음 예를 고려하십시오 -
mysql>SELECT ROUND(5.693893); +---------------------------------------------------------+ | ROUND(5.693893) | +---------------------------------------------------------+ | 6 | +---------------------------------------------------------+ 1 row in set (0.00 sec) mysql>SELECT ROUND(5.693893,2); +---------------------------------------------------------+ | ROUND(5.693893,2) | +---------------------------------------------------------+ | 5.69 | +---------------------------------------------------------+ 1 row in set (0.00 sec)
위의 정의와 예에서 우리는 이 두 함수 사이의 다음과 같은 차이점을 관찰할 수 있습니다 -
- ROUND() 함수는 두 번째 인수 D와 숫자 자체(D 소수점 이하 자릿수>=5 여부)에 따라 숫자를 반올림 또는 내림합니다.
- TRUNCATE() 함수는 D 소수점 이하 자릿수가>=5인지 여부를 확인하지 않고 D 소수점 이하 자릿수까지 숫자를 자릅니다.
mysql> Select ROUND(1.289,2)AS 'AFTER ROUND',TRUNCATE(1.289,2)AS 'AFTER TRUNCATE'; +-------------+----------------+ | AFTER ROUND | AFTER TRUNCATE | +-------------+----------------+ | 1.29 | 1.28 | +-------------+----------------+ 1 row in set (0.00 sec)