首页 > 数据库 > mysql教程 > 如何在 MySQL 中检查逗号分隔 Blob 中的特定数字?

如何在 MySQL 中检查逗号分隔 Blob 中的特定数字?

Mary-Kate Olsen
发布: 2024-11-17 07:53:03
原创
635 人浏览过

How to Check for Specific Numbers in a Comma-Separated Blob in MySQL?

检查 MySQL 中逗号分隔 Blob 中的数字

考虑下表:

UID(int) | NUMBERS(blob)
----------------------
1        | 1,13,15,20
2        | 3,10,15,20
3        | 3,15
登录后复制

到检查 NUMBERS blob 中是否存在特定数字(例如 3 和 15),我们可以使用 IN 运算符。此运算符测试以逗号分隔的字符串中是否存在值。

解决方案:

SELECT * FROM table WHERE 3 IN (NUMBERS) AND 15 IN (NUMBERS)
登录后复制

在此查询中,使用了 IN 运算符两次:

  • 3 IN (NUMBERS) 检查数字 3 是否在 NUMBERS blob 内。
  • 15 IN (NUMBERS) 检查数字 15 是否在 NUMBERS blob 内。

仅当满足两个条件时查询才会返回行。因此,只会选择第 2 行,因为它的 NUMBERS blob 中同时包含 3 和 15。

附加说明:

此查询的另一个变体是:

SELECT * FROM table WHERE NUMBERS LIKE '%3%' AND NUMBERS LIKE '%15%'
登录后复制

但是,不建议使用 LIKE %%,因为它可能会导致大型数据集出现性能问题。 IN 运算符对于此类检查更为有效。

以上是如何在 MySQL 中检查逗号分隔 Blob 中的特定数字?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板