You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在MySQL中使用REGEXP将全名字段拆分为名字和姓氏

MySQL正则拆分姓名字段实现方案

MySQL内置的REGEXP操作符仅返回布尔值(匹配成功返回1,失败返回0),仅用于判断是否匹配规则,无法直接提取匹配到的内容,需使用REGEXP_SUBSTR函数实现正则提取。
该方案以第一个出现的空格作为分界,适配MySQL 8.0及以上版本,符合MySQL Workbench运行环境要求:

  • 第一个空格前的所有内容为FirstName,匹配正则为^[^ ]+
  • 第一个空格后的所有内容为LastName,匹配正则为(?<= ).*$

测试示例代码

SELECT 
  REGEXP_SUBSTR(full_name, '^[^ ]+') AS FirstName,
  REGEXP_SUBSTR(full_name, '(?<= ).*$') AS LastName
FROM (SELECT 'Tom Della ''Angelo' AS full_name) AS test_demo;

执行后返回结果:

FirstNameLastName
TomDella 'Angelo

实际表查询用法

将上述示例中FROM后的测试子查询替换为你的业务表名,full_name替换为你存储完整姓名的字段名即可。

内容的提问来源于stack exchange,提问作者Tony Correia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 14:36:05