我在我的Mysql数据库中有一个表(utf-8)。我想从这张表中得到确切的词匹配。 我的查询是:准确单词匹配(非英文字符)
SELECT matched_rows FROM MY_TABLE WHERE string = 'MY_STRING'
问题是,当我搜索“AGAC”(英文树)我得到了所有行与AGAC,AGAC,AGAC,AGAC。 我想得到的只是'ağaç'不是其余。我也不想要结果东西agac。
我该如何得到这种效果?
我在我的Mysql数据库中有一个表(utf-8)。我想从这张表中得到确切的词匹配。 我的查询是:准确单词匹配(非英文字符)
SELECT matched_rows FROM MY_TABLE WHERE string = 'MY_STRING'
问题是,当我搜索“AGAC”(英文树)我得到了所有行与AGAC,AGAC,AGAC,AGAC。 我想得到的只是'ağaç'不是其余。我也不想要结果东西agac。
我该如何得到这种效果?
我也跟着@gintas回答,并做了一些修改。到底对我来说这一个工作:
选择行FROM MY_TABLE WHERE CONVERT(
string_field_name
使用latin5)= CONVERT( 'MY_STRING' 使用latin5)
你应该试着在查询中定义的排序规则
SELECT matched_rows FROM MY_TABLE WHERE string = 'MY_STRING' COLLATE utf8_general_ci
谢谢,但我得到这个eeror'COLLATION'latin5_turkish_ci'是不适用于字符集'utf8'' – 2012-03-10 14:13:26
SELECT * FROM users WHERE email REGEXP '[[:<:]]abhi[[:>:]]'
try this link on SO i think you didnt try this?
LINK:url
谢谢!但是这给了我所有包含我的SEARCH_WORD的字符串。 – 2012-03-10 14:16:36
参考这篇文章http://stackoverflow.com/questions/5131248/mysql-selecting-exact-word-with-match-query – abhijit 2012-03-10 12:35:11
@abhi,我已经尝试过,但没有为我工作! – 2012-03-10 12:38:37