我在长文本列中有这样的数据:
Name: Adam Smith
Name: Bob Johnson
Name: John Hansen
是否可以在正则表达式中使用通配符?假设用户搜索Smith
,用伪代码:
SELECT * FROM mytable
WHERE `file` REGEXP 'Name: %Smith%\n'
我很确定%
通配符不是正则表达式中的函数。是否有可能做到这一点?
-using的REGEXP
答案是:
SELECT * FROM mytable WHERE `file` REGEXP 'Name: .*Smith.*\n'
但是LIKE
更适合:
SELECT * FROM mytable WHERE `file` LIKE 'Name: %Smith%'
你的语法是:SELECT * FROM mytable WHERE (columnName) LIKE 'Name: %Smith%';
酌情更换(columnName)
。不清楚您的意思longtext
是否是列的名称,但如果是,那您将用它替换它。