
Last Updated (Saturday, 08 August 2009 18:44) Thursday, 02 April 2009 09:45
หลาย ครั้งที่คนออกแบบตาราง เก็บข้อมูล ชื่อ-นามสกุล รวมกันอยู่ในคอลัมน์ Full Name เดียวกัน มีเพียงช่องว่าง ( เคาะ Space Bar) เป็นตัวแยกระหว่างชื่อ กับ นามกุลเท่านั้น เช่น Polla Taylor
แต่บางที เราจำเป็นต้องการแสดงแค่ ชื่อ ไม่เอานามกุล หรือ แสดง ชื่อ กับ นามกุล แยกเป็นคนละคอลัมน์ จะทำอย่างไรดี ?
จุดสำคัญ ที่ทำให้ชื่อ กับ นามกุลแยกออกจากกันได้ นั่นคือ ช่องว่าง ระหว่าง ชื่อ และ นามสกุล เราจึงใช้จุดนี้แหละ เป็นตัวช่วย
ตัวอย่างเช่น ตาราง MY_GIGS มีคอลัมน์ full_name เก็บ ชื่อ-นามสกุล เอาไว้ต่อกัน

เราใช้ SQL นี้ แยก ชื่อ กับ นามกุล ออกจากัน โดยอาศัยฟังก์ชั่น Substr() และ Instr() มาช่วย

คำอธิบาย
Instr () เป็นฟังก์ชั่นในการหา ว่าคำที่เราสนใจ ในที่นี้ คือ ช่องว่าง ระหว่าง ชื่อกับนามสกุล เป็นคำที่เท่าไหร่ในคอลัมน์ full_name
Substr () เป็น ฟังก์ชั่น ในการ ตัดคำ ของคอลัมน์ full_name โดย ชื่อ จะเริ่มต้นตัดเอาคำแรกของ ข้อมูล จนถึง คำสุดท้ายก่อนช่องว่าง มาเป็น FName และ เอาคำแรกหลังจาก ช่องว่าง จนถึงคำสุดท้ายของข้อมูล มาเป็น LName


