find_in_set使用

FIND_IN_SET(str,strList)

  • str 要查询的字符串
  • strList 字段名,参数以“,”分隔,如(1,2,6,8)
  • 查询字段(strList)中包含的结果,返回结果null或记录。
CREATE TABLE `tb_test` (
  `id` int(8) NOT NULL auto_increment,
  `name` varchar(255) NOT NULL,
  `list` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
);
INSERT INTO `tb_test` VALUES (1, 'name', 'daodao,xiaohu,xiaoqin');
INSERT INTO `tb_test` VALUES (2, 'name2', 'xiaohu,daodao,xiaoqin');
INSERT INTO `tb_test` VALUES (3, 'name3', 'xiaoqin,daodao,xiaohu');
一、原生mysql中使用

SELECT * from tb_test where FIND_IN_SET("daodao",list)

二、tp中使用

1、
Db::name('menu')->where('FIND_IN_SET(:id,list)',['id' => $id])->update([$field => $title]);
2、Db::table('think_user')->where('find_in_set(1,sids)')->select();
 
原文地址:https://www.cnblogs.com/ivy-zheng/p/11882583.html