2012-03-10 90 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