mysql按逗号拆分列为多列
时间: 2023-09-07 22:17:41 浏览: 159
你可以使用 MySQL 中的 `SUBSTRING_INDEX` 函数来按照指定的分隔符拆分列为多列。以下是一个示例:
假设有一个 `users` 表,其中包含一列名为 `skills`,其中包含以逗号分隔的多个技能。现在我们想要按照逗号将该列拆分为多列。
首先,我们可以使用以下查询来查看原始 `skills` 列:
```
SELECT skills FROM users;
```
接下来,我们可以使用以下查询来将 `skills` 列拆分为多列:
```
SELECT
SUBSTRING_INDEX(skills, ',', 1) AS skill_1,
SUBSTRING_INDEX(SUBSTRING_INDEX(skills, ',', 2), ',', -1) AS skill_2,
SUBSTRING_INDEX(SUBSTRING_INDEX(skills, ',', 3), ',', -1) AS skill_3,
SUBSTRING_INDEX(SUBSTRING_INDEX(skills, ',', 4), ',', -1) AS skill_4
FROM users;
```
在上面的查询中,我们使用了 `SUBSTRING_INDEX` 函数来拆分 `skills` 列。第一个参数是要拆分的列,第二个参数是分隔符(在这种情况下是逗号),第三个参数是要返回的子字符串的索引。通过不断使用 `SUBSTRING_INDEX` 函数,我们可以将 `skills` 列拆分为多列,并将其命名为 `skill_1`,`skill_2`,`skill_3` 和 `skill_4`。
请注意,这种方法仅适用于拆分固定数量的子字符串。如果你不确定要拆分的子字符串数量,可以考虑使用 MySQL 中的 `GROUP_CONCAT` 函数来将其合并为一个字符串,并在应用程序中进行拆分。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)