不幸的是,我有一个包含如下值的字段列
- 4
- 12,3
- 8,5,6,7
我要写一个 SELECT 语句,其结果是:
- 4
- 12
- 8
由于 MySQL 不提供“拆分”功能,我如何在实践中做到这一点?
最佳答案
使用 MySQL 的 SUBSTRING_INDEX
功能:
SELECT SUBSTRING_INDEX(field, ',', 1)
但是,将列表保存在分隔符分隔的字符串中通常是对关系数据库管理系统(如 MySQL)的低效使用:它通常比 normalise 更好。通过将此类列表保存在单独的 (id, value)
对表中来创建您的数据结构。
关于MySQL:选择逗号分隔列表的第一个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11241492/