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

ฟังก์ชัน ABS() (ย่อมาจาก absolute) เป็นฟังก์ชันทางคณิตศาสตร์ใน MySQL ที่ใช้สำหรับคืนค่าตัวเลขในรูปแบบ “ค่าสัมบูรณ์” หรือค่าบวกของตัวเลข

ประโยชน์ของฟังก์ชัน ABS()

  • ใช้ในการเปรียบเทียบผลต่างโดยไม่สนใจเครื่องหมาย (บวกหรือลบ)
  • เหมาะสำหรับการคำนวณระยะทาง, ผลต่างคะแนน, การเบี่ยงเบนมาตรฐาน, ค่าความคลาดเคลื่อน
  • ใช้ใน WHERE, ORDER BY, หรือ HAVING เพื่อจัดการกับข้อมูลเชิงตัวเลข

รูปแบบการใช้งาน

ABS(number)
  • number คือตัวเลขที่ต้องการหาค่าสัมบูรณ์ รองรับประเภท INT, FLOAT, DECIMAL, DOUBLE, ฯลฯ
  • หากเป็น NULL จะคืนค่า NULL

ตัวอย่างการใช้งาน

SQL
SELECT ABS(25);           -- ผลลัพธ์: 25
SELECT ABS(-25);          -- ผลลัพธ์: 25
SELECT ABS(0);            -- ผลลัพธ์: 0
SELECT ABS(-123.45);      -- ผลลัพธ์: 123.45
SELECT ABS(NULL);         -- ผลลัพธ์: NULL

หาค่าความแตกต่างของจำนวนเงินที่เก็บจากลูกค้าเทียบกับจำนวนที่ตั้งเป้าไว้

SQL
SELECT customer_id, amount,
       ABS(amount - 5.00) AS deviation
FROM payment
LIMIT 5;
  • หาผลต่างระหว่าง amount ที่ลูกค้าจ่ายกับเป้าหมาย 5.00 โดยไม่สนใจว่ามากหรือน้อยกว่า
  • ใช้ ABS() เพื่อให้ผลลัพธ์เป็นบวกเสมอ

แสดงเฉพาะรายการที่ผลต่างเกิน 2 หน่วย

SQL
SELECT customer_id, amount
FROM payment
WHERE ABS(amount - 5.00) > 2;
แชร์เรื่องนี้