2011-03-30 71 views

回答

0

也有類似的問題here

他們說這在Android上並不是真的可行,但是有一個額外的標準化列的解決方法。

7

有一個解決方案,但它不是很優雅,但它適用於Android。

函數REPLACE可以用正常字符替換重音字符。例如:

SELECT YOUR_COLUMN FROM YOUR_TABLE WHERE replace(replace(replace(replace(replace(replace(replace(replace(
replace(replace(replace(lower(YOUR_COLUMN), 'á','a'), 'ã','a'), 'â','a'), 'é','e'), 'ê','e'), 'í','i'), 
'ó','o') ,'õ','o') ,'ô','o'),'ú','u'), 'ç','c') LIKE 'SEARCH_KEY%' 

或者使用Unicode:

SELECT YOUR_COLUMN FROM YOUR_TABLE WHERE replace(replace(replace(replace(replace(replace(replace(replace(
replace(replace(replace(lower(YOUR_COLUMN), '\u00E1','a'), '\u00E3','a'), '\u00E2','a'), '\u00E9','e'), '\u00EA','e'), '\u00ED','i'), 
'\u00F3','o') ,'\u00F5','o') ,'\u00F4' ,'o'),'\u00FA','u'), '\u00E7' ,'c') LIKE 'SEARCH_KEY%' 

哪裏SEARCH_KEY的是,你要找到在列的關鍵詞。

+1

此外,這不會非常好的性能,但至少是一個解決方案 – 2012-10-26 15:59:08

+0

@MarcosVasconcelos是的,它的表現不好。但這是一個可能的解決方案。 – Derzu 2012-10-26 16:56:07