0
我在mysql查詢日誌中發現了這個查詢,我想知道它究竟做了什麼。mysql正則表達式
select * from tblname WHERE TRIM(NAME) REGEXP 'John[ ]*Smith'
我在mysql查詢日誌中發現了這個查詢,我想知道它究竟做了什麼。mysql正則表達式
select * from tblname WHERE TRIM(NAME) REGEXP 'John[ ]*Smith'
它選擇從tblname
所有行name
(含空格去掉左右,如果有的話)等於John<any number of spaces>Smith
所以你會發現JohnSmith
以及John_________________________Smith
(計算器吃重複的空間,所以我代替他們與下劃線)。
正則表達式本身是有點臃腫和可改寫爲John *Smith
你甚至可以跳過字符類:P – alex 2011-03-21 04:26:11
@alex:呵呵,抓住了我;-) – zerkms 2011-03-21 04:28:19
+1你Zerky! – alex 2011-03-21 04:29:15