mysql一列拆分成多列
时间: 2023-06-28 14:13:41 浏览: 289
mysql中行转列算法
如果你的 MySQL 表中有一列包含了多个值,你可以使用 MySQL 的字符串函数来将这个列拆分成多个列。下面是一个例子,假设你有一个包含了姓名和年龄的列,格式为 "姓名_年龄",你想拆分出两个新的列分别存储姓名和年龄:
```sql
SELECT
SUBSTRING_INDEX(name_age, '_', 1) AS name,
SUBSTRING_INDEX(name_age, '_', -1) AS age
FROM my_table;
```
这里使用了 MySQL 的 `SUBSTRING_INDEX()` 函数,它可以将字符串按照指定的分隔符进行拆分,并返回拆分后的子字符串。第一个参数是要拆分的字符串,第二个参数是分隔符,第三个参数是要返回的子字符串的位置。如果第三个参数为正数,则返回从左往右数第 n 个分隔符前的子字符串;如果为负数,则返回从右往左数第 n 个分隔符后的子字符串。
在上面的例子中,`SUBSTRING_INDEX(name_age, '_', 1)` 返回的是第一个 '_' 前面的子字符串,也就是姓名;`SUBSTRING_INDEX(name_age, '_', -1)` 返回的是最后一个 '_' 后面的子字符串,也就是年龄。通过这种方式,你可以将一个包含多个值的列拆分成多个列。
阅读全文