使用SQL查询搜索部分单词

时间:2012-02-17 20:00:25

标签: php mysql

我正在为我正在处理的约会网站的生物页面提供一些帮助。

我有一个名为“bio”的文本字段,你猜对了,文字! :)

如果我搜索生物文件中的“股票”,我想得到包含“股票”一词的行和包含“库存”或“库存”一词的行。

我这样做(应该有效):

AND bio LIKE '%stocks%' // this query should return both the rows which contain "stocks" and "stockings", right? What I am doing wrong?

我该怎么做? TY:!)

4 个答案:

答案 0 :(得分:4)

好'%stock%'肯定找不到'丝袜' - 如何放弃's'并使用'%stock%'? '股票'不是'丝袜'的一部分,但这就是LIKE的作用。

答案 1 :(得分:1)

“股票”在“k”之后有一个“s”。 “长袜”在“k”之后有一个“i”。要获得您正在寻找的匹配项,您需要只搜索'%stock%'

答案 2 :(得分:0)

股 丝袜 放养

公共部分为stock,因此如果您想匹配所有三个,则必须搜索“%stock%”。

你也可以做一些像“%stock%s%”这样的东西,它可以匹配“股票”和“长袜”或“长袜”。你得到了照片。

或者您可以使用match("text to match") against column语法,但必须使用全文索引column

希望这有帮助!

答案 3 :(得分:0)

您也可以在mysql中使用全文搜索。

http://dev.mysql.com/doc/refman/5.1/en/fulltext-natural-language.html