mysql字符串分割成多行
时间: 2023-08-07 18:12:49 浏览: 113
Mysql通过存储过程分割字符串为数组
在MySQL中,可以使用`SUBSTRING_INDEX`函数将一个字符串按照指定的分隔符分割成多行。具体操作步骤如下:
1. 使用`SELECT`语句查询需要分割的字符串,例如:
```
SELECT 'This is a test string' AS str;
```
2. 使用`SUBSTRING_INDEX`函数按照指定的分隔符进行分割,例如:
```
SELECT
SUBSTRING_INDEX('This is a test string', ' ', 1) AS part1,
SUBSTRING_INDEX(SUBSTRING_INDEX('This is a test string', ' ', 2), ' ', -1) AS part2,
SUBSTRING_INDEX(SUBSTRING_INDEX('This is a test string', ' ', 3), ' ', -1) AS part3,
SUBSTRING_INDEX(SUBSTRING_INDEX('This is a test string', ' ', 4), ' ', -1) AS part4;
```
上述语句将字符串按照空格分割成了4行,每行一个单词。
注意:`SUBSTRING_INDEX`函数的第三个参数,当为正数时,表示从左往右第几个分隔符;当为负数时,表示从右往左第几个分隔符。
3. 如果需要将分割后的多行字符串插入到表中,可以使用`INSERT INTO SELECT`语句,例如:
```
INSERT INTO table_name (col1, col2, col3, col4)
SELECT
SUBSTRING_INDEX('This is a test string', ' ', 1) AS part1,
SUBSTRING_INDEX(SUBSTRING_INDEX('This is a test string', ' ', 2), ' ', -1) AS part2,
SUBSTRING_INDEX(SUBSTRING_INDEX('This is a test string', ' ', 3), ' ', -1) AS part3,
SUBSTRING_INDEX(SUBSTRING_INDEX('This is a test string', ' ', 4), ' ', -1) AS part4;
```
上述语句将分割后的多行字符串插入到了`table_name`表的`col1`、`col2`、`col3`、`col4`四个列中。
阅读全文