2012-03-10 91 views
1

我在我的Mysql数据库中有一个表(utf-8)。我想从这张表中得到确切的词匹配。 我的查询是:准确单词匹配(非英文字符)

SELECT matched_rows FROM MY_TABLE WHERE string = 'MY_STRING' 

问题是,当我搜索“AGAC”(英文树)我得到了所有行与AGAC,AGAC,AGAC,AGAC。 我想得到的只是'ağaç'不是其余。我也不想要结果东西agac

我该如何得到这种效果?

+0

参考这篇文章http://stackoverflow.com/questions/5131248/mysql-selecting-exact-word-with-match-query – abhijit 2012-03-10 12:35:11

+0

@abhi,我已经尝试过,但没有为我工作! – 2012-03-10 12:38:37

回答

1

我也跟着@gintas回答,并做了一些修改。到底对我来说这一个工作:

选择行FROM MY_TABLE WHERE CONVERT(string_field_name使用latin5)= CONVERT( 'MY_STRING' 使用latin5)

0

你应该试着在查询中定义的排序规则

SELECT matched_rows FROM MY_TABLE WHERE string = 'MY_STRING' COLLATE utf8_general_ci 
+0

谢谢,但我得到这个eeror'COLLATION'latin5_turkish_ci'是不适用于字符集'utf8'' – 2012-03-10 14:13:26

0
SELECT * FROM users WHERE email REGEXP '[[:<:]]abhi[[:>:]]' 

try this link on SO i think you didnt try this? 

LINK:url

+0

谢谢!但是这给了我所有包含我的SEARCH_WORD的字符串。 – 2012-03-10 14:16:36