数据库中存储以【,】分隔的字符串,精确查找某个数据

举报
武图南 发表于 2022/06/28 17:59:34 2022/06/28
1k+ 0 0
【摘要】 mysql中find_in_set()函数

概览

select find_in_set(4,'1,2,3,4');
// 返回的值为以逗号分隔后集合中 4 字符所在集合索引位置

概述

// FIND_IN_SET(str,strlist)
// str 要查询的字符串
// strlist 一般为字段名,或者一个以,分隔的字符串
// 如果 strlist 中包含 str的结果,则返回 str 位于 strlist的位置,不包含则 返回 0

实操

1.创建测试表

create table `t_test_find_in_set`(
  `id` int(8) NOT NULL auto_increment,
  `desc` varchar(255) NOT NULL,
  `strlist` varchar(255) NOT NULL,
  PRIMARY KEY  (`id`)
)comment '测试find_in_set函数';
INSERT INTO `t_test_find_in_set` VALUES (1, 'desc1', 'zhangsan,lisi,wangwu');
INSERT INTO `t_test_find_in_set` VALUES (2, 'desc2', 'wangwu,maliu,zhangqi');
INSERT INTO `t_test_find_in_set` VALUES (3, 'desc3', 'yangyang,doudou,huahua');

2.使用find_in_set函数

select * from `t_test_find_in_set` where find_in_set('zhangsan',strlist);

image.png

select * from `t_test_find_in_set` where find_in_set('wangwu',strlist);

image.png

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

热门文章

评论(0

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。