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

ฟังก์ชัน MOD() ใน MySQL ใช้สำหรับคำนวณค่าเศษจากการหาร ผลลัพธ์คือเศษที่เหลือหลังจากหาร x ด้วย y ใช้ได้กับจำนวนเต็ม (INT) หรือทศนิยม (FLOAT, DECIMAL) ก็ได้

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

  • ใช้ตรวจสอบตัวเลขว่าหารลงตัวหรือไม่ (เช่น เช็คเลขคู่/คี่)
  • ใช้สร้างเงื่อนไขแบ่งกลุ่ม, ทำรอบซ้ำ, วนลูป, สลับสีตาราง ฯลฯ
  • เหมาะกับงานที่เกี่ยวกับ
    • คณิตศาสตร์เบื้องต้น
    • การจัดกลุ่มข้อมูล
    • การจัดลำดับตามรอบ (cycle)

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

MOD(x, y)
  • x คือตัวตั้ง (ค่าที่ต้องการหาร)
  • y คือตัวหาร
  • ถ้า y = 0 ผลลัพธ์จะเป็น NULL (หารด้วยศูนย์ไม่ได้)

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

SQL
SELECT MOD(10, 3);       -- ผลลัพธ์: 1 (10 ÷ 3 = 3 เศษ 1)
SELECT MOD(25, 5);       -- ผลลัพธ์: 0 (หารลงตัว)
SELECT MOD(7, 4);        -- ผลลัพธ์: 3
SELECT MOD(-10, 3);      -- ผลลัพธ์: -1
SELECT MOD(10, 0);       -- ผลลัพธ์: NULL

หากต้องการเขียนแบบโอเปอเรเตอร์ทางคณิตศาสตร์ ก็สามารถใช้ x % y ได้เช่นกัน

SQL
SELECT 10 % 3;           -- ผลลัพธ์: 1

ตรวจสอบว่าเป็นเลขคู่หรือคี่

SQL
SELECT customer_id,
       IF(MOD(customer_id, 2) = 0, 'Even', 'Odd') AS parity
FROM customer
LIMIT 10;

แสดงข้อมูลแบบสลับแถว (เช่น ใช้แบ่งสีตารางในเว็บ)

SQL
SELECT rental_id,
       MOD(rental_id, 2) AS row_style
FROM rental
LIMIT 10;

กำหนดการแบ่งกลุ่มรายงานทุก 5 รายการ

SQL
SELECT *,
       FLOOR((ROW_NUMBER() OVER ()) / 5) AS group_batch
FROM payment;
SQL
SELECT payment_id,
       MOD(payment_id, 5) AS group_no
FROM payment;
แชร์เรื่องนี้