关于“反向喜欢”的MySQL问题

好吧,我有一个值,我想检查数据库中的潜在匹配(在一个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实例,但是值得尝试看看哪个获胜.

相关文章

昨天的考试过程中,有个考点的服务器蓝屏重启后发现Mysql启动不了(5.6.45 x32版本,使用innoDB),重装后...
整数类型 标准 SQL 中支持 INTEGER 和 SMALLINT 这两种类型,MySQL 数据库除了支持这两种类型以外,还扩...
一条 SQL 查询语句结构如下: SELECT DISTINCT <select_list> FROM <left_table&...
数据备份 1. 备份数据库 使用 mysqldump 命令可以将数据库中的数据备份成一个文本文件,表的结构和数据...
概述 在实际工作中,在关系数据库(MySQL、PostgreSQL)的单表数据量上亿后,往往会出现查询和分析变慢...
概述 触发器是 MySQL 的数据库对象之一,不需要程序调用或手工启动,而是由事件来触发、激活,从而实现...