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

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

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-17 07:53:03669浏览

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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn