如何在 MySQL 中查找包含特定值的字段,并排除仅包含特定值的记录?

如何在 mysql 中查找包含特定值的字段,并排除仅包含特定值的记录?

如何用 mysql 查找包含特定值的字段?

mysql 中,表中的某个字段值可能包含多种格式,例如空值、单一数字或以逗号分隔的数字字符串。假设我们有一个表名为 "my_table",它的 "ids" 字段具有以下值:

| ids |
| ---- |
| null |
| 350 |
| 34,35,36,37 |

现在,我们希望查询包含数字 35 的记录,但要排除仅包含 350 的记录。

解决方案:

可以使用 mysql 的 find_in_set() 函数解决此问题,该函数检查一个值是否在逗号分隔的字符串中。以下 sql 查询将检索包含 35 的记录,同时排除仅包含 350 的记录:

select * from my_table where find_in_set(#{id}, ids)

在这个查询中,#{id} 是要搜索的值,即 35。

使用此查询,将检索以下记录:

| ids |
| ---- |
| 34,35,36,37 |

这成功地排除了仅包含 350 的记录。

以上就是如何在 MySQL 中查找包含特定值的字段,并排除仅包含特定值的记录?的详细内容,更多请关注其它相关文章!