2015-11-13 35 views

回答

1
SELECT * FROM ... WHERE LOWER(query) LIKE '%`test`.`user`%' 

这是假设你没有围绕.

+0

感谢这无缝工作 – MoopanMec

0

您可以使用LIKE。

SELECT * FROM `tablename` WHERE `query` LIKE '%test%user%' 

%是通配符。您可以将它放在正面,背面或中间,并且可以多次使用。上面的查询将查找任何具有“测试”和“用户”的顺序,任何字符都在之间,之前或之后。

+0

检查使用情况下失败: SELECT main.id,usr.name FROM' test'.'main' main INNER JOIN'db'.'user' usr; – MoopanMec

0

任何空间可以克服模式更多的控制在查询相匹配,如果你使用REGEXP,例如

select `query` from test WHERE `query` REGEXP '.*test.*user.*'; 

给出基本的结构,使用REGEXP查询,这对你的作品已经提出这样的问题,但可以根据您的需要进行修改。

如图中demo sqlfiddle

对于使用REGEXP看做工可用的元字符列表 - http://www.tech-recipes.com/rx/484/use-regular-expressions-in-mysql-select-statements/

+0

如果我们有一个表名称,如“user_duplicate”或“usersomething”,上述查询失败。 – MoopanMec