Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

เราจะแยกสตริงชื่อออกเป็นสองส่วนโดยใช้ฟังก์ชัน MySQL SUBSTRING_INDEX() ได้อย่างไร


เพื่อให้เข้าใจ เรากำลังใช้ข้อมูลต่อไปนี้จากตารางชื่อ 'customerdetail'

mysql> Select * from Customerdetail;
+----------------------+----------------------+-----------+---------------------+
| Name                 | FName                | Address   | Emailid             |
+----------------------+----------------------+-----------+---------------------+
| Advik Jhamb          | Lovkesh Jhamb        | Mumbai    | Advik@gmail.com     |
| Chirag Jai Patil     | Raman Jai Patil      | Gujrat    | chirahp@yahoo.com   |
| Devansh Singh Rajput | Kishore Singh Rajput | Rajasthan | Devansh@Hotmail.com |
| Mitul Kumar Sharma   | Om Veer Sharma       | Patiala   | Mitul@gmail.com     |
+----------------------+----------------------+-----------+---------------------+
4 rows in set (0.00 sec)

ทีนี้ สมมติว่าถ้าเราต้องการแยกชื่อออกเป็นสองส่วนคือ 'First_name' และ 'Last_name' ก็สามารถทำได้โดยใช้คำค้นหาต่อไปนี้ -

mysql> SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(Name, ' ', 1), ' ', -1) AS First_Name, TRIM( SUBSTR(Name, LOCATE(' ', Name)) ) AS Last_Name FROM Customerdetail;
+------------+--------------+
| First_Name | Last_Name    |
+------------+--------------+
| Advik      | Jhamb        |
| Chirag     | Jai Patil    |
| Devansh    | Singh Rajput |
| Mitul      | Kumar Sharma |
+------------+--------------+
4 rows in set (0.00 sec)

จากชุดผลลัพธ์ของแบบสอบถามข้างต้น จะเห็นได้ชัดว่าชื่อถูกแบ่งออกเป็นสองส่วน โดยถือว่าชื่อกลางเป็นส่วนหนึ่งของนามสกุล