有没有办法选择一个部分匹配的值?

时间:2011-08-25 19:57:24

标签: php mysql

例如,考虑:

title 1: The Indiana Highway project
title 2: The Michigan Highway project

现在,当用户在表单框中输入Highway时,两个标题都需要显示。 如果用户输入Michigan,则只需显示一个标题(标题2)。

有没有办法在MySQL或PHP中执行此操作?

4 个答案:

答案 0 :(得分:4)

如果您始终只搜索一个字词,则可以使用LIKE关键字。

SELECT someField, anotherField, FROM table WHERE aField LIKE '%Highway%'

%是通配符,表示任何字符(或没有字符)都可以位于高速公路的左侧和右侧。

See documentation here.

如果您打算做一些更为柔和的事情,请查看full text search

答案 1 :(得分:2)

使用MySQL中的LIKE运算符通过部分匹配选择值。

SELECT title FROM table WHERE title LIKE '%Highway%';

答案 2 :(得分:2)

SELECT * FROM MyTable WHERE title LIKE '%Highway%' 

这应该可以解决问题。这样的东西会带回每个结果,其中标题在里面有一个单词Highway

答案 3 :(得分:2)

标准SQL提供LIKE:

WHERE anonymous_column LIKE '%Highway%'

还有其他更复杂的正则表达式操作,但这足以满足您的直接目的。