
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
oracle database table oracle database data using pl/sql index oracle tutorial password oracle thailand oracle training thailand database administrator oracle thai oracle dba oracle training oracle consulting oracle consultance thai oracle consultance oracle consulting thailand mysql tuning indexes statistics join column migration rman tables production


