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)
现在,假设我们想将名字拆分为两个部分,即“名”和“姓”,则可以使用以下查询的帮助。
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)
从上述查询的结果集中,可以清楚地看到名字已经被分成了两个部分。它将中间名作为姓的一部分来考虑。
阅读更多:MySQL 教程
极客教程