检查 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 运算符两次:
仅当满足两个条件时查询才会返回行。因此,只会选择第 2 行,因为它的 NUMBERS blob 中同时包含 3 和 15。
附加说明:
此查询的另一个变体是:
SELECT * FROM table WHERE NUMBERS LIKE '%3%' AND NUMBERS LIKE '%15%'
但是,不建议使用 LIKE %%,因为它可能会导致大型数据集出现性能问题。 IN 运算符对于此类检查更为有效。
以上是如何在 MySQL 中检查逗号分隔 Blob 中的特定数字?的详细内容。更多信息请关注PHP中文网其他相关文章!