今天写一个微信回复的 demo, 然后遇到这种场景.
- 收到特定的消息
- 根据数据库存储的关键字回复特定的内容
- 不能全匹配, 数据库可以模糊匹配
一说到模糊匹配, 大家肯定都想到like
, 假设表结构如下
id keyword reply
1 大卫 他就是大卫
2 大卫王 他就是大卫
假如输入的关键字是大卫
可以查找出所有含有大卫的关键字
这时候我们写的SQL
肯定是这样子的:
select * from table_name where keyword like '%大卫%
我们换一种场景, 假如数据库我们只存一条记录, 不管用户输入, 大卫还是大卫王我们都会回复它同一个内容.这时候我们只需要反向模糊查找即可
表数据如下
id keyword reply
1 %大卫% 他就是大卫
之后我们写的SQL
如下即可完成反向模糊查找
select * from table_name where '大卫' like keyword