我准备了一个包含多个条目的电子表格,每行条目提供两列信息。一个是产品名称,另一个是产品的价格。示例如下所示:
Product (Column A) Price (Column B)
1. Watch $100
2. Mousepad $50
3. Notebook $1000
我正在尝试使用PHP和MYSQL创建基于Web的数据库。基本搜索功能是当我在搜索框中输入一个句子时,例如"我有一个手表和一个笔记本",我的数据库中的那些条目与句子中的一些单词匹配(即第1行"观看"以及第3行"笔记本电脑")。 MySQL是否支持这种搜索,如何编写查询来执行此操作?
答案 0 :(得分:0)
编写SQL查询来做到这一点并不难。您所需要的只是编写一个WHERE
子句来搜索字符串中的列值。 MySQL有一个LOCATE()
函数,可用于搜索子字符串。在您的示例中,您可能有:
SELECT *
FROM myTable
WHERE LOCATE(product, 'I have a watch and a notebook.') <> 0;
重要的是要注意,正如您将在链接中看到的,如果找不到子字符串,则找到返回0。
以下是SQL Fiddle示例。