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

标签 mysql sql split

不幸的是,我有一个包含如下值的字段列

  • 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/

相关文章:

javascript - 通过 RegEx Javascript 按 2 个字符串分隔符分割

php - mysql_fetch_array while 循环

mysql - 在单个 MySQL 查询中的多个查询中选择要运行的查询

mysql - 获取在特定日期没有凭证的所有员工

linq - 将一个大数据表拆分为两个单独的数据表

ruby - 如何将字符串拆分为数组,并保持换行符?

mysql - 数据库 :migrate does not create tables

sql - 根据bigquery中的条件合并记录

sql - 如何在 Oracle SQL 查询中修剪前缀字符串?

mysql - 如何将字符串添加到 MySQL 中的字段值?