2011-08-25 68 views
2

例如,考虑:有没有办法选择部分匹配的值?

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

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

有没有办法在MySQL或PHP中做到这一点?

回答

4

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

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

% s为通配符说,任何字符(或无)可到左边和公路的右侧。

See documentation here.

如果你打算做一些更sofisticated,看看full text search

2

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

SELECT title FROM table WHERE title LIKE '%Highway%'; 
2
SELECT * FROM MyTable WHERE title LIKE '%Highway%' 

这应该做的伎俩。类似的东西会带回每一个结果,其中标题有言道某处内

2

标准SQL提供了诸如:

WHERE anonymous_column LIKE '%Highway%' 

还有其他更复杂的正则表达式操作过,但是这将足以满足您的眼前目的。

相关问题