在 where 子句 mysql 中完全匹配 utf8 中的单词
matching exactly word in utf8 in where clause mysql
我有这样的查询:
SELECT * FROM category_keyword WHERE keyword = 'cho'
此查询是 return 结果 keyword ={ cho , chợ , chờ , chợ ...}
。我只想要结果是 keyword = 'cho' (不是 'chợ, chờ ...')。我能怎么做?
table 的排序规则是 utf8_unicode_ci
使用 utf8 排序规则,cho
等于 chờ
。如果你想比较二进制:
SELECT * FROM category_keyword WHERE keyword = CONVERT('cho' USING binary)
将列的排序规则更改为 utf8_bin。这比使用 CONVERT 更好,因为它允许使用索引。但是,如果您有时需要 utf8_bin(完全匹配)并且有时需要 utf8_unicode_ci(用于大小写折叠和重音去除),那么您在性能方面就不走运了。
我有这样的查询:
SELECT * FROM category_keyword WHERE keyword = 'cho'
此查询是 return 结果 keyword ={ cho , chợ , chờ , chợ ...}
。我只想要结果是 keyword = 'cho' (不是 'chợ, chờ ...')。我能怎么做?
table 的排序规则是 utf8_unicode_ci
使用 utf8 排序规则,cho
等于 chờ
。如果你想比较二进制:
SELECT * FROM category_keyword WHERE keyword = CONVERT('cho' USING binary)
将列的排序规则更改为 utf8_bin。这比使用 CONVERT 更好,因为它允许使用索引。但是,如果您有时需要 utf8_bin(完全匹配)并且有时需要 utf8_unicode_ci(用于大小写折叠和重音去除),那么您在性能方面就不走运了。