mysql - 如何从MYSQL中选择准确的句子

标签 mysql

I have two coloumns:

> 
>     <table border=1>
>       <tr>
>         <td><b>Phrase</b></td>
>         <td><b>Sentence</b></td>
>         </tr>
>       <tr>
>         <td>Love Math</td>
>         <td>I really love math</td>
>         </tr>
>      </table>
> 
> 

Using the Query below:

SELECT sentence FROM tbl_sentence WHERE MATCH(phrase) AGAINST(' love math')

OUTPUT: "I really love math"

我的问题是当用户只输入“爱”这个词时。

仍然得到输出“我真的很喜欢数学”。

如果用户只输入“我爱”,如何不返回任何内容。

最佳答案

这应该会显示“我爱”的结果:

SELECT
`sentence`
FROM
`tbl_sentence`
WHERE
`tbl_sentence`
LIKE
"%I%Love%";

问题是,您必须更改用户的输入以将空格替换为通配符“%”字符。

如果您不希望它显示“我爱”的结果,请仅使用 2 个通配符,围绕整个短语:

SELECT
`sentence`
FROM
`tbl_sentence`
WHERE
`tbl_sentence`
LIKE
"%I Love%";

关于mysql - 如何从MYSQL中选择准确的句子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31422594/

相关文章:

Mysql select for update - 它没有锁定目标行。我如何确保它确实如此?

mysql - 在 mysql for nodejs 的 where 子句中使用变量与硬编码

php - 在MySQL中存储时间范围并判断当前时间是否在时间范围内

mysql - 简单的 date_sub() mySQL 查询无法执行

php - 为 MySQL 表或许多 MySQL 数据库添加前缀?

mysql - Logstash Mysql 配置

mysql - 如何在Group By子句执行之前执行Order by子句?

mysql - 将 Mysql latin1_swedish_ci 转换为 utf8_bin

MySQL 到 MSSQL 保持外键关系

php - 如何选择包含名字和姓氏的所有结果?