我在我的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