一尘不染

MySQL:选择逗号分隔列表的第一个元素

sql

不幸的是,我有一个字段列,其中包含诸如

  • 4
  • 12,3
  • 8,5,6,7

我将编写一个SELECT语句,其结果将是:

  • 4
  • 12
  • 8

由于MySQL不提供“拆分”功能,我如何在实践中做到这一点?


阅读 212

收藏
2021-03-10

共1个答案

一尘不染

使用MySQL的SUBSTRING_INDEX功能:

SELECT SUBSTRING_INDEX(field, ',', 1)

但是,将列表保留在以定界符分隔的字符串中通常是对像MySQL这样的关系数据库管理系统的低效使用:通常最好通过将这样的列表保留在成对的单独表中来规范化数据结构(id, value)

2021-03-10