Sql 查询数据库中的记录以字符串形式存在的条件?

Sql 查询数据库中的记录以字符串形式存在的条件?,sql,database,Sql,Database,基本上,我需要的是与此相反的: SELECT * FROM `table` WHERE `query` LIKE '%string%' 看起来像: SELECT * FROM `table` WHERE '%string%' LIKE 'thestringmachine' 我在互联网上查找了一个名为CONTAINS()的操作,但它似乎不起作用。 有人能帮我吗 编辑: $inc=“themachinethatthinks”; $query=mysql\u query(“从包含($inc','w

基本上,我需要的是与此相反的:

SELECT * FROM `table` WHERE `query` LIKE '%string%'
看起来像:

SELECT * FROM `table` WHERE '%string%' LIKE 'thestringmachine'
我在互联网上查找了一个名为CONTAINS()的操作,但它似乎不起作用。 有人能帮我吗

编辑:

$inc=“themachinethatthinks”;
$query=mysql\u query(“从包含($inc','word')的'spell'中选择*”;
$num=mysql\u numrows($query)$i=0;
而($i<$num){
$val=mysql_结果($query,$i,“word”);
echo$val.“
”; $i++; }

数据库中包含很多单词(仅限)。

我不确定是否理解您的需要,但我尝试:

SELECT * FROM your_table
WHERE LOCATE(your_col, 'thestringmachine') > 0
如果需要查询不区分大小写:

SELECT * FROM your_table
WHERE LOCATE(LOWER(your_col), LOWER('thestringmachine')) > 0

我不确定我是否理解您的需求,但我尝试:

SELECT * FROM your_table
WHERE LOCATE(your_col, 'thestringmachine') > 0
如果需要查询不区分大小写:

SELECT * FROM your_table
WHERE LOCATE(LOWER(your_col), LOWER('thestringmachine')) > 0

我不能尝试,因为我手边没有SQL数据库,但是试试这个

SELECT * FROM `tablename` WHERE `thethinkingmachine' LIKE CONCAT('%', `colname`, '%');

如果这样做行得通,我怀疑它的性能是否会很好。

我不能尝试,因为我手头没有SQL DB,但是试试这个

SELECT * FROM `tablename` WHERE `thethinkingmachine' LIKE CONCAT('%', `colname`, '%');

如果这能起作用,我怀疑它的性能是否会很好。

您使用的是哪个数据库服务器?这是一个php脚本。。。我的大脑似乎在晚上不工作。。。你能举一个例子说明模式匹配不适合你吗?正如互联网告诉我的,
包含的
似乎是MSSQL术语。你在使用哪个数据库服务器?这是一个php脚本。。。我的大脑似乎在晚上不工作。。。你能举一个例子说明模式匹配不适合你吗?正如互联网告诉我的,
包含
似乎是MSSQL术语。