mysql - mysql查询中的正则表达式

标签 mysql sql

我有像这样的 mysql 表值

1-2

1-2-3

1-4-5

1-4-5-12-15

15-45-75

1-5-15-25-35-55

55-65-75

我想选择数字为 5 的行(不是 15、25 或 35)。

我试过使用 LIKE 查询,但它给出了所有 5 个值包含行(包括 15、35、45、55)。

SELECT ... WHERE linkage LIKE '%5%'

我认为我们可以通过 REGEXP 来完成。你能帮我吗?

最佳答案

您可以使用 FIND_IN_SET 执行此操作:

SELECT ... 
WHERE FIND_IN_SET(5, REPLACE(linkage,'-',','));

示例@ sqlfiddle

关于mysql - mysql查询中的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12209955/

相关文章:

php - 可排序的标签列表,就受欢迎程度而言?

sql - 检查我的数据库设计/PHP/MySQL

mysql - 按另一列分组的列的平均值

sql - 在postgresql中选择带有日期的查询

sql - 在 PLSQL 中连接集合

sql - 历史/可审核的数据库

php - MySQL 跳过第一行

mysql - 插入子mysql

java - 使用mybatis查询db记录列表导致: An unexpected token "IN" was found following

mysql - 如何知道页面访问是否按预期顺序发生?