ฟังก์ชัน TRUNCATE() ใช้เพื่อตัดทศนิยมของตัวเลขออกให้เหลือตามจำนวนตำแหน่งที่ระบุ โดยไม่ปัดขึ้น เหมาะสำหรับการตัดเลขทศนิยมออกโดยไม่ปัดขึ้นหรือลง ซึ่งต่างจาก ROUND() ที่มีการปัดค่าตามหลักคณิตศาสตร์
- ถ้าเลขทศนิยมถูกตัดออก → จะถูกตัดทิ้งไปเลย (ไม่สนใจว่ามากกว่า 0.5 หรือไม่)
- ใช้ได้ทั้งค่าบวกและค่าลบ
รูปแบบการใช้งาน
TRUNCATE(number, decimal_places)
numberคือค่าตัวเลขที่ต้องการตัดทศนิยมdecimal_placesคือจำนวนตำแหน่งทศนิยมที่ต้องการเก็บไว้ (อาจเป็นค่าลบก็ได้)
ตัวอย่างการใช้งาน
ตัดทศนิยมให้เหลือ 2 ตำแหน่ง
SQL
SELECT TRUNCATE(123.4567, 2); -- ผลลัพธ์: 123.45
SELECT TRUNCATE(987.999, 1); -- ผลลัพธ์: 987.9ตัดทศนิยมทั้งหมด (เหลือจำนวนเต็ม)
SQL
SELECT TRUNCATE(3.14159, 0); -- ผลลัพธ์: 3ตัดตัวเลขก่อนจุดทศนิยม (ใช้เลขติดลบ)
SQL
SELECT TRUNCATE(1234.567, -1); -- ผลลัพธ์: 1230
SELECT TRUNCATE(98765.432, -3);-- ผลลัพธ์: 98000ใช้กับค่าลบ
SQL
SELECT TRUNCATE(-5.987, 2); -- ผลลัพธ์: -5.98ตัวอย่างการประยุกต์ใช้งาน
ตัดค่าทศนิยมในยอดขาย
SQL
SELECT sale_id, amount, TRUNCATE(amount, 2) AS display_amount
FROM sales;ตัดค่าทศนิยมของเปอร์เซ็นต์โดยไม่ปัดขึ้น
SQL
SELECT product_id, TRUNCATE((stock / capacity) * 100, 0) AS percent_used
FROM inventory;