查询字符串中存在数据库记录的情况?

时间:2011-11-25 21:54:40

标签: sql database

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

SELECT * FROM `table` WHERE `query` LIKE '%string%'

看起来像:

SELECT * FROM `table` WHERE '%string%' LIKE 'thestringmachine'

我在互联网上查看了一个名为CONTAINS()的操作,但它似乎不起作用。 有人能帮助我吗?

编辑:

$inc = "themachinethatthinks";
$query = mysql_query("SELECT * FROM `spell` WHERE CONTAINS('$inc',`word`)");
$num = mysql_numrows($query); $i=0; 

while ($i < $num) {

    $val = mysql_result($query,$i,"word");

    echo $val."<br>";

$i++;
}

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

2 个答案:

答案 0 :(得分:1)

我不确定我理解你需要什么,但我尝试:

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

如果您需要查询不区分大小写:

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

答案 1 :(得分:0)

我无法尝试,因为我手边没有SQL DB,但试试这个

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

如果这样可行,我怀疑它会非常高效。