REGEX中的通配符?

时间:2012-10-07 22:05:22

标签: mysql regex wildcard

我在longtext专栏中有这样的数据:

Name: Adam Smith
Name: Bob Johnson
Name: John Hansen

是否可以在regexp中使用通配符?假设用户使用伪代码搜索Smith

SELECT * FROM mytable
WHERE `file` REGEXP 'Name: %Smith%\n'

我很确定%通配符不是regexp中的函数。有可能这样做吗?

2 个答案:

答案 0 :(得分:4)

REGEXP - 使用答案是:

SELECT * FROM mytable WHERE `file` REGEXP 'Name: .*Smith.*\n'

然而LIKE更合适:

SELECT * FROM mytable WHERE `file` LIKE 'Name: %Smith%'

答案 1 :(得分:1)

您的语法是:SELECT * FROM mytable WHERE (columnName) LIKE 'Name: %Smith%';

视情况更换(columnName)。不清楚你是否认为longtext是列的名称,但如果是,那就是你要替换它的那个。