mysql列分解成两个字段
时间: 2023-05-26 07:02:35 浏览: 86
25.3 MySQL 多表查询
你可以使用 MySQL 的函数 `SUBSTRING_INDEX()` 来实现这个功能。
例如,假设你有一个名为 `names` 的字符串列,其中包含了名字和姓氏。要将这个列分解为两个字段,分别是 `first_name` 和 `last_name`,你可以这样写:
```
SELECT SUBSTRING_INDEX(names, ' ', 1) AS first_name,
SUBSTRING_INDEX(names, ' ', -1) AS last_name
FROM your_table;
```
其中,`SUBSTRING_INDEX(names, ' ', 1)` 会返回 `names` 中从左到右的第一个空格之前的子字符串,也就是名字,而 `SUBSTRING_INDEX(names, ' ', -1)` 则会返回从右到左的第一个空格之后的子字符串,也就是姓氏。
如果你想按照中文的方式进行分解,可以使用 MySQL 的函数 `LOCATE()` 来实现,例如:
```
SELECT SUBSTRING(names, 1, LOCATE('姓', names) - 1) AS first_name,
SUBSTRING(names, LOCATE('姓', names) + 1) AS last_name
FROM your_table;
```
其中,`LOCATE('姓', names)` 会返回 `names` 中的 “姓” 的位置,然后我们可以使用 `SUBSTRING()` 来分别取出名字和姓氏。
阅读全文