ฟังก์ชัน 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;