如何使用 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)

現在,假設我們要將 name 拆分為兩部分,“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)

從上述查詢的結果集中,很明顯,name 已被分為兩部分。它將中間名視為姓氏的一部分。

更新於: 2020-2-10

213 次瀏覽

開啟你的 職業生涯

完成本課程獲得認證

開始
廣告
© . All rights reserved.