2009-09-04 64 views
0

我需要在mysql表中找到éouou的出現。在mysql中搜索突出的char

首先嚐試: SELECT「LéL」like「%é%」; 哪些不起作用:它返回包含e或é或è的單詞。

我也試圖與正則表達式不結果(用字母L):

SELECT "Lbc" REGEXP ".*L.*"; -- works : it finds L in the string LBC 

SELECT "Lbc" REGEXP ".*\u4C.*"; -- doesn't work : can't find the hexadecimal equivalent of L in the string LBC. 

我想測試帶有\ U加十六進制搜索...我也試過兩次轉義爲mentionned在doc不變化。

正則表達式搜索似乎真的在MySQL中受到限制。在http://dev.mysql.com/doc/refman/4.1/en/regexp.html沒有找到任何與\ u相關的文檔。

我正在使用mysql 4.1。

如果在MySQL 5中有一個不存在於4中的解決方案,我想知道它。

+0

爲什麼你不能發送實際的字符而不是十六進制代碼? – longneck

+0

好吧,我會被詛咒的...這是我第一次嘗試...但現在,我讀了你的評論後再次嘗試......它的工作原理。 –

+0

將該評論轉換爲答案並讓我們完成它。 –

回答

1
SELECT 'LéL' LIKE '%é%' COLLATE utf8_bin; 
/* latin1_bin if your data is in latin1, etc. */ 
1 

SELECT 'LéL' LIKE '%e%' COLLATE utf8_bin; 
0 

看到http://dev.mysql.com/doc/refman/5.0/en/string-comparison-functions.html#operator_likehttp://dev.mysql.com/doc/refman/5.0/en/charset-binary-collations.html

在MySQL 5.1測試 - 應4.1工作,太。

+0

+1爲好的答案,但Longneck已經有了更簡單的解決方案。 (等待他發表他的評論作爲答案) –

+0

....太糟糕了。我接受你的解決方案。 –