好吧,我有一个值,我想检查数据库中的潜在匹配(在一个varchar字段中),所以我写了类似的东西:
SELECT * FROM table WHERE column LIKE "%value%"
如果值类似于“test”并且列具有“这是一个测试”的值,那么它将起作用,但如果它被反转,那么我将不会得到匹配,我尝试了以下方面的事情:
SELECT * FROM table WHERE CONCAT("%",column,"%") LIKE "value"
但不知道到底该如何用谷歌来表达我需要的回复,请帮忙!
最佳答案
您可以撤消like
声明.只需使用与常规类似查询相同的语法:
select
*
from
table
where
'value' like concat('%','%')
当然,如果你觉得狂野和疯狂,你也可以使用instr
:
select * from table where instr('value',column) > 0
我不知道哪一个更快,因为我没有要测试的MySQL实例,但是值得尝试看看哪个获胜.