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

ฟังก์ชัน SUBSTRING() ใน MySQL ใช้เพื่อตัดข้อความย่อย (substring) ออกจากข้อความหลัก โดยระบุตำแหน่งเริ่มต้น และจำนวนอักขระที่ต้องการตัด ทำงานเหมือนกับฟังก์ชัน SUBSTR()

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

  • ใช้แยกข้อความบางส่วนออกจาก string เช่น
    • ปี/เดือน/วัน จากข้อมูลวันที่
    • รหัสสินค้า, หมายเลขรุ่น, คำย่อ
  • เหมาะสำหรับระบบที่ต้องจัดการข้อความที่มีโครงสร้างเฉพาะ

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

SUBSTRING(str, start [, length])

หรือ

SUBSTRING(str FROM start [FOR length])
  • str คือข้อความต้นฉบับ
  • start คือตำแหน่งเริ่มต้น (เริ่มนับจาก 1)
  • ถ้าเป็นค่าลบ เริ่มจากด้านขวาของข้อความ
  • length (ไม่บังคับ) คือจำนวนอักขระที่ต้องการดึง (ถ้าไม่ระบุ จะดึงจนจบข้อความ)

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

รูปแบบทั่วไป

SQL
SELECT SUBSTRING('MySQL Tutorial', 1, 5);       -- 'MySQL'
SELECT SUBSTRING('MySQL Tutorial', 7);          -- 'Tutorial'
SELECT SUBSTRING('abcdef', -3, 2);              -- 'de'

รูปแบบทางเลือก (SQL Standard)

SQL
SELECT SUBSTRING('MySQL Tutorial' FROM 7 FOR 5);   -- 'Tutor'

แยกคำขึ้นต้นของชื่อภาพยนตร์ (title)

SQL
SELECT title,
       SUBSTRING(title, 1, 4) AS prefix
FROM film
LIMIT 10;

แยกเดือนจากวันที่เช่า (rental_date)

SQL
SELECT rental_id,
       rental_date,
       SUBSTRING(rental_date, 6, 2) AS rental_month
FROM rental
LIMIT 5;
  • ฟิลด์ rental_date มีรูปแบบ YYYY-MM-DD HH:MM:SS ดังนั้น เดือนเริ่มที่ตัวที่ 6
แชร์เรื่องนี้