ฟังก์ชัน MID() เป็นฟังก์ชันใน MySQL ที่ใช้สำหรับดึงบางส่วนของข้อความ (substring) จากตำแหน่งที่กำหนด เช่นเดียวกับฟังก์ชัน SUBSTRING() หรือ SUBSTR() ซึ่งสามารถใช้แทนกันได้
ประโยชน์ของฟังก์ชัน MID()
- ใช้เพื่อแยกข้อความบางส่วนออกจาก string เช่น
- ดึงรหัสสินค้า
- แยกวัน/เดือน/ปี จาก
YYYY-MM-DD - ตัดชื่อหรือคำย่อจากข้อความยาวๆ
- เหมาะกับระบบที่เก็บข้อมูลรวมกันในฟิลด์เดียว แล้วต้องแยกข้อมูลไปใช้งานต่อ
รูปแบบการใช้งาน
MID(str, start, length)
strคือข้อความต้นฉบับที่ต้องการดึงข้อมูลstartคือตำแหน่งที่เริ่มดึงข้อมูล (เริ่มนับจาก 1)lengthคือจำนวนตัวอักษรที่ต้องการดึงออกมา
ตัวอย่างการใช้งาน
SQL
SELECT MID('MySQLDatabase', 1, 5); -- ผลลัพธ์: 'MySQL'
SELECT MID('ABCDEFG', 3, 2); -- ผลลัพธ์: 'CD'
SELECT MID('2025-04-02', 6, 2); -- ผลลัพธ์: '04' (เดือน)
SELECT MID('Hello', 10, 2); -- ผลลัพธ์: '' (ตำแหน่งเกิน)แสดงรหัสภาพยนตร์ โดยตัดจากชื่อ (title) 3 ตัวอักษรแรกออกมา
SQL
SELECT title, MID(title, 1, 3) AS code_prefix
FROM film
LIMIT 10;- ดึง 3 ตัวอักษรแรกของชื่อภาพยนตร์ออกมา ใช้เป็นรหัสย่อ
ตัดข้อความช่วงกลางของคำอธิบาย (description)
SQL
SELECT title,
MID(description, 10, 20) AS short_desc
FROM film
LIMIT 5;- แสดงคำอธิบายบางส่วน เริ่มจากอักษรที่ 10 โดยเอามาแสดง 20 ตัวอักษร
หมายเหตุ
startเริ่มนับจาก 1 ไม่ใช่ 0MID()คืนค่าเป็น string เสมอ- หาก
lengthเป็น 0 จะได้ผลลัพธ์เป็นข้อความว่าง ('') - หาก
strเป็นNULLจะได้ผลลัพธ์จะเป็นNULL