有时我们需要查询某个字段是否包含某值时,通常用like进行模糊查询,但对于一些要求比较准确的查询时(例如:微信公众号的关键字回复匹配查询)就需要用到MySQL的 find_in_set()函数;
以下是用find_in_set()函数写的sq查询l语句示例:
$keyword = '你好';
$sql = "select * from table_name where find_in_set('".$keyword"',msg_keyword) and msg_active = 1";
以下是在tp框架中使用find_in_set()函数的查询示例:
$keyword = '你好';
$where = array(
'msg_active' => 1,
'_string' => "find_in_set('".$keyword."',msg_keyword)"
);
return $this->M('WechatResponseMsg')->where($where)->field('msg_content,msg_type')->find();
注意项:
1. 数据库中存的关键字要以英文“,”分隔;
2.存储数据要对分隔符进行处理,保证以英文“,”分隔关键字。
以上这篇使用tp框架和SQL语句查询数据表中的某字段包含某值就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
您可能感兴趣的文章:- 必须会的SQL语句(八) 数据库的完整性约束
- 使用sql语句创建和删除约束示例代码
- laravel实现查询最后执行的一条sql语句的方法
- Laravel使用原生sql语句并调用的方法
- 使用用SQL语句从电脑导入图片到数据库的方法
- MyBatisPlus 自定义sql语句的实现
- 数据库中的sql完整性约束语句解析