我有一個表結構如下圖所示(以虛擬數據代替真實的數據):MySQL的LIKE模式匹配返回空集時,它應該返回值
tableName
+-----------+----------------+
| code | description |
+-----------+----------------+
| A | text here |
| b | blah blah |
| c | sdfsdfsdfsdf |
| d | sdfsfkaljdaklj |
| e | asdkjasdlkjasd |
| f | adskljalkdj |
| g | asdjalkd |
| h | askdjavsd |
+-----------+----------------+
我嘗試做以下命令:
SELECT * FROM tableName WHERE description LIKE '__[aeiou]%';
我希望這個select語句返回表中第三個字符是a,e,i,o或u的所有結果。
但是,我得到關於查詢0結果。我知道一個事實,即表中存在與此模式匹配的有效結果(第三個字符是a,e,i,o或u)。
我的查詢出了什麼問題?
我不認爲mysql LIKE接受range [],因此它將它解釋爲以[開頭的文字字符串。 – Mihai 2014-11-22 02:36:10
來自您的鏈接'MySQL提供的其他類型的模式匹配使用擴展的正則表達式。當你測試這種類型的模式的匹配時,使用REGEXP和NOT REGEXP運算符' – Mihai 2014-11-22 02:40:04