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

ฟังก์ชัน 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 ไม่ใช่ 0
  • MID() คืนค่าเป็น string เสมอ
  • หาก length เป็น 0 จะได้ผลลัพธ์เป็นข้อความว่าง ('')
  • หาก str เป็น NULL จะได้ผลลัพธ์จะเป็น NULL
แชร์เรื่องนี้