The TRUNCATE() ฟังก์ชั่นใช้เพื่อคืนค่าของ X ที่ถูกตัดทอนเป็น D จำนวนตำแหน่งทศนิยม ถ้า D เป็น 0 จุดทศนิยมจะถูกลบออก ถ้า D เป็นค่าลบ จำนวนค่า D ในส่วนจำนวนเต็มของค่าจะถูกตัดทอน พิจารณาตัวอย่างต่อไปนี้ –
mysql> Select TRUNCATE(7.536432,2); +----------------------+ | TRUNCATE(7.536432,2) | +----------------------+ | 7.53 | +----------------------+ 1 row in set (0.00 sec)
The ROUND() ฟังก์ชันส่งคืน X ที่ปัดเศษเป็นจำนวนเต็มที่ใกล้เคียงที่สุด หากมีการระบุอาร์กิวเมนต์ที่สองคือ D ฟังก์ชันจะส่งกลับ X ที่ปัดเศษเป็นทศนิยม D 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 จำนวนตำแหน่งทศนิยมโดยไม่ตรวจสอบว่าตัวเลขหลังทศนิยม D>=5 หรือไม่
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)