如何使用 MySQL SUBSTRING_INDEX() 函数将名称字符串拆分为两部分?
mysqlmysqli database更新于 2025/5/29 4:28:17
为了便于理解,我们使用名为"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)
从上述查询的结果集可以清楚地看出,名字被分成了两部分。它将中间名视为姓氏的一部分。
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

