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