可能重复: How to apply wildcard in instr() in MySQL?
可能的重复链接显示了一个与我当前的查询完全一样的查询。但是,我找不到使它成为大小写 敏感 匹配的方法。 :\
SELECT COUNT(*) FROM users WHERE INSTR(flags, 'T') > 0;
我得到 46 的计数,这显然是错误的。它计算标志中的每个实例“T”,无论它是大写还是小写。
它的工作原理与 MySQL 文档一致。我在 MySQL 文档中发现了一些内容,说要在变量上放置一个“@”符号以使其区分大小写。但是,我在 @'T' 上尝试了这个以形成以下查询:
SELECT COUNT(*) FROM users WHERE INSTR(flags, @'T') > 0;
我的计数为零。
任何人都可以为我阐明这一点吗? :)
编辑:
忘记说了,不好意思。我还尝试了 LIKE '%T%'
作为 where-clause,它仍然失败并返回与 (INSTR(flags, 'T') > 0)
相同的结果;
最佳答案
我相信这会成功
SELECT COUNT(*) FROM users WHERE INSTR(binary flags, 'T') > 0;
关于mysql - 如何在 MySQL 的 instr() 中使用区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2036200/