数据库中存储以【,】分隔的字符串,精确查找某个数据
【摘要】 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);
select * from `t_test_find_in_set` where find_in_set('wangwu',strlist);
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)