หน้าแรก/บทความ/คำสั่ง SQL แยกหรือตัดข้อมูลใน Field
กลับหน้าบทความ
🗄️Database

คำสั่ง SQL แยกหรือตัดข้อมูลใน Field

วิธีใช้ SUBSTRING_INDEX() ใน MySQL เพื่อแยกชื่อและนามสกุลออกจากกัน หรือตัดข้อมูลโดยใช้ตัวคั่น (delimiter)

ศิริชัย ธีรภัทรสกุล (ตั้ม)อ่าน 2 นาที20 มกราคม 2554
#SQL#MySQL#SUBSTRING_INDEX#String Function#Database

มีโจทย์อยู่ว่า Field หนึ่งเก็บทั้งชื่อและนามสกุล แต่เราต้องการ Query มาเพื่อที่จะแสดงแยกชื่อและนามสกุลออกมาอย่างละ Column หรือดึงมาเฉพาะชื่อเท่านั้น

สิ่งที่แยกชื่อกับนามสกุลก็คือ ช่องว่าง ระหว่างชื่อและนามสกุลนั่นเอง

เราจะใช้ String Function ที่ชื่อว่า:

SUBSTRING_INDEX(ชื่อฟิลด์, ตัวแบ่งเขตข้อมูล, จำนวน)

ตัวอย่าง: แสดงเฉพาะชื่อ

SELECT SUBSTRING_INDEX(FullName, ' ', 1) AS Fname
FROM tb_member

ตัวอย่าง: แยกชื่อและนามสกุล

SELECT
    SUBSTRING_INDEX(FullName, ' ', 1)  AS Fname,
    SUBSTRING_INDEX(FullName, ' ', -1) AS Lname
FROM tb_member
  • 1 — ดึงส่วนแรกก่อนตัวคั่น (ชื่อ)
  • -1 — ดึงส่วนสุดท้ายหลังตัวคั่น (นามสกุล)

🚀 รับพัฒนาเว็บไซต์ & เว็บแอพพลิเคชั่น

สนใจดูตัวอย่างงานหรือสอบถามเพิ่มเติม ติดต่อได้เลยครับ โค้ดโมทีฟ (CodeMotive)