MySQL การใช้งานฟังก์ชัน TRUNCATE()

ฟังก์ชัน 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;
แชร์เรื่องนี้