MySQL数据库,字符串字段拆分

发布时间 2023-05-30 20:55:23作者: he0707

MySQL数据库,字符串字段拆分

英文姓名存储在一个字段
如何拆分出firstname和lastname

查询语句

SELECT REPLACE(name, CONCAT(' ', SUBSTRING_INDEX(name, ' ', -1)), '') AS firstname, SUBSTRING_INDEX(name, ' ', -1) AS lastname
FROM people;

SUBSTRING_INDEX语法

(1)substring_index(string, sep, num),即substring_index(字符串, 分隔符, 序号)
(2)参数说明

  1. string:用于截取目标字符串的字符串。可为字段,表达式等。
  2. sep:分隔符,string存在且用于分割的字符,比如“,”、“.”、“ ”等。
  3. num:序号,为非0整数。若为整数则表示从左到右数,若为负数则从右到左数。比如“www.mysql.com”截取字符‘www’,分割符为“.”,从左到右序号为1,即substring_index("www.mysql.com", '.', 1)。若从右开始获取“com”则为序号为-1,即substring_index("www.mysql.com", '.', -1)。