多语言展示
当前在线:1461今日阅读:175今日分享:29

sql如何把逗号隔开的多个字段分成多列

在我们管理数据库的时候,经常会发现某些业务表出于历史原因或性能原因,都使用了违反第一范式的设计模式。即同一个列中存储了多个属性值。此时如果有需求将一个用某个特定分割符比如 ',' 隔开的字段分割为多个列战术,那么要如何处理呢?本文教大家处理这种问题。
工具/原料

mysql

把一个字段分成多列
1

使用mysql -uroot -p 进入MySQL命令界面

2

使用use test;命令,进入测试数据库,并使用create命令创建测试表test;

3

使用insert命令插入一条测试数据 1,2,3,4,5,6,7,8

4

插入测试数据成功后,我们来查看一下测试表中现有的数据,可以看到,表中ID是1,2,3,4,5,6,7,8

5

这会,我们突然得了一个需求,需要把测试表中的id字段按照逗号分隔开,要实现这个功能,我们需要用到mysql的截取字符串函数 substring_index 把测试表中的ID字段按照 ',' 分割成多个列显示,具体实现如下图所示

注意事项

本文使用的数据库是MySQL数据库,虽然SQL语句都是相似的,但请根据具体的版本写相应的SQL

推荐信息