mysql - 如何在字符串列中仅获取 char 的第 N 个实例?

标签 mysql sql

我有一列字符串值为“x,x,x,x,x,x,x,x...”

我们想要遍历所有行,并且只有 N 项(所有其他项都应删除)。

分隔符是','

X 可以有不同的长度。

我该怎么做?

最佳答案

您可以使用 MySQL 函数 SUBSTRING_INDEX 来做到这一点:

要获取此部分,假设您想要前 10 项:

SET @N := 10;
SELECT SUBSTRING_INDEX(your_column, ',', @N) FROM your_table;

要更新您的表格:

UPDATE your_table SET 
    your_column = SUBSTRING_INDEX(your_column, ',', @N);

参见this demothis one显示不同长度的项目。

关于mysql - 如何在字符串列中仅获取 char 的第 N 个实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25976244/

相关文章:

php - 使用php运行mysql存储过程

php - 使用 ComboBox 刷新页面而不刷新

mysql - Docker 数据库容器正在运行。 pid <id> 的另一个进程正在使用 unix 套接字文件

mysql - Zend Framework 2 无法从联接表中获取字段

sql - 检索具有属性名称的指定列记录

sql - postgresql中IPV6十进制转十六进制段函数

mysql - SQLite 查找两个表之间的差异

python - 如何在 python sqlite3 中编写多范围/重叠查询

sql - 将时间戳分钟设置为特定值

mysql - SQL查询在字段中有数据而不是新记录