首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在FIND_IN_SET中使用MySQL IN condition

在MySQL中,FIND_IN_SET函数用于在一个逗号分隔的字符串列表中查找指定的值。它的语法如下:

FIND_IN_SET(value, string_list)

其中,value是要查找的值,string_list是逗号分隔的字符串列表。

FIND_IN_SET函数返回一个整数值,表示value在string_list中的位置。如果找到了,则返回其在列表中的索引位置(从1开始),如果未找到,则返回0。

使用MySQL IN condition可以在查询中使用FIND_IN_SET函数来实现更复杂的条件匹配。IN condition用于指定一个字段的值必须在一个给定的值列表中。

例如,假设我们有一个名为"users"的表,其中有一个名为"skills"的字段,存储了每个用户的技能列表。我们想要查找具有特定技能的用户,可以使用FIND_IN_SET和IN condition来实现:

SELECT * FROM users WHERE FIND_IN_SET('前端开发', skills) > 0;

上述查询将返回所有具有"前端开发"技能的用户。

FIND_IN_SET函数在以下场景中非常有用:

  • 当一个字段存储了多个值,且这些值以逗号分隔时,可以使用FIND_IN_SET来进行条件匹配。
  • 当需要在一个逗号分隔的字符串列表中查找指定的值时,可以使用FIND_IN_SET函数。

腾讯云提供了丰富的云计算产品和服务,其中包括数据库、服务器、云原生、网络通信、网络安全、音视频、人工智能、物联网、移动开发、存储、区块链等领域。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于这些产品和服务的详细信息。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

mysqlFIND_IN_SET使用方法

mysql,有时我们在做数据库查询时,需要得到某字段包含某个值的记录,但是它也不是用like能解决的,使用like可能查到我们不想要的记录,它比like更精准,这时候mysqlFIND_IN_SET...FIND_IN_SET(str,strlist)函数 str 要查询的字符串 strlist 字段名 参数以”,”分隔 如 (1,2,6,8) 查询字段(strlist)包含(str)的结果,返回结果为...下面查询btype字段包含”15″这个参数的值 SELECT * from test where FIND_IN_SET('15',btype) 返回值 下面查询btype字段包含”5″这个参数的值...接下面查询btype字段包含”20″这个参数的值 SELECT * from test where FIND_IN_SET('20',btype) 当然它的返回值为null,因为字段没有这个值 FIND_IN_SET...和like的区别 like是广泛的模糊匹配,字符串没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果。

22010

mysqlfind_in_set()函数的使用

需要得到某字段包含某个值的记录,但是它也不是用like能解决的,使用like可能查到我们不想要的记录,它比like更精准,这时候mysqlFIND_IN_SET函数就派上用场了,下面来看一个例子。...注意:mysql字符串函数 find_in_set(str1,str2)函数是返回str2str1所的位置索引,str2必须以","分割开。...转载自:https://www.cnblogs.com/xiaoxi/p/5889486.html mysqlfind_in_set()函数的使用 首先举个例子来说: 有个文章表里面有个type字段...需要得到某字段包含某个值的记录,但是它也不是用like能解决的,使用like可能查到我们不想要的记录,它比like更精准,这时候mysqlFIND_IN_SET函数就派上用场了,下面来看一个例子。...注意:mysql字符串函数 find_in_set(str1,str2)函数是返回str2str1所的位置索引,str2必须以","分割开。

3.5K40
  • MySQLFIND_IN_SET探险记

    1、业务背景 公司的业务需求是需要分权限分等级的获取不同的内容,因为原来的角色,权限,分组表已经建好,但是又要实现不同产品需要不同等级不同分组的人员管理,在做数据库查询时,需要得到某字段包含某个值的记录...,但是它也不是用like能解决的,使用like可能查到我们不想要的记录,它比like更精准,查找资料后发现涉及到数据库的特有函数,候mysqlFIND_IN_SET函数就派上用场了,下面来具体了解一下...检索过程,将满足条件的,即条件为true的结果返回。where能实现类型转换,这一点十分类似JavaScript的if语句的用法。 4、原来如此 众里寻它千百度,sodesiga,好吧!...贴图: SELECT FIND_IN_SET(1,1) ? 刚说好的字符串,你就给我来个这 ? ? ? ,mysql你怎么可以这么随意呢! ? ? ? 以上图示,有劳读友自行总结 ? ? ?...5、FIND_IN_SET和like的区别 like是广泛的模糊匹配,字符串没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分隔,Find_IN_SET查询的结果要小于like查询的结果

    1.9K10

    MYSQL用法(十五) MySQLFIND_IN_SET()用法

    FIND_IN_SET(str,strlist) 返回str字符串集strlist的序号(任何参数是NULL则返回NULL,如果str没找到返回0,参数1包含","时工作异常) 例子: 查询表字段...SELECT * FROM `linkinfo` WHERE `pingid` REGEXP '{id},' AND `pingid` NOT REGEXP '[[:alnum:]]+{id},' 使用上面的语句...,可以查询出来 用FIND_IN_SET() 更简单 SELECT * FROM linkinfo WHERE FIND_IN_SET('1',pingid 原来以为mysql可以进行这样的查询---...原因其实是(一) (list)    list是变量, 而(二) ('libk', 'zyfon', 'daodao')是常量 所以如果要让(一)能正确工作,需要用find_in_set()---...select id, list, name from table where FIND_IN_SET( 'daodao' , list); 总结:所以如果list是常量,则可以直接用IN, 否则要用FIND_IN_SET

    2.8K30

    学习LockCondition使用

    那么Condition又是在哪里使用呢? synchronized和Lock的简单使用 假设有一个对象同一时间只能被一个线程操作。...其作用是避免了线程进入BLOCKED状态(Thread.State类),操作系统避免了因线程自身阻塞引起的线程切换,减少了上下文切换引起的操作系统内核CPU消耗。...消费端判断pool是否还有数据,如果有数据则消耗数据后调用pool.notifyAll(),如果没有数据,则调用pool.wait(),循环以上操作。...以上方法,首先有一个问题就是生产者和消费者需要在需要对pool加synchronized关键字,这个上面说过了,会带来上下文切换。...其余的生产者消费者均会被唤醒,然而等待他们的是synchronized,其中只有一个能够真正使用pool,其余的继续被压制,万一一个生产者调用notifyAll方法唤起的是另一个生产者,完了,还得来一次

    2.9K30

    .Net Core 2.0使用MySQL

    之前,我简单的介绍过.net core中使用Mongodb(见文章《.Net Core系列教程(三)——使用Mongodb》),也使用过PostgreSQL(但是没有写文章介绍怎么使用,只是文章《...下面说下怎样.net core中使用MySQL,这个问题网上随便一搜有很多,我的当然也是从网上搜索来的,只是用自己的语言再次整理下而已。...使用MySQL时,需要使用MySQL的驱动,之前MySQL官方没有出驱动的时候,需要使用第三方的,不过现在有官方的驱动,还是尽量使用官方的吧,我这里也以官方的为准。...需要注意的是,MySQL.Data需要安装最新版的(现在是6.10.3-rc版),旧版本不支持.net core 2.0 先在appsettings.json文件,添加数据库的配置: "ConnectionStrings...控制器,添加: private readonly IOptions _settings; 之后控制器的构造函数: public NewsController

    1.5K50

    CentOS7使用Docker安装MySql

    容器是完全使用沙箱机制,相互之间不会有任何接口。...上面是百度百科Docker的介绍,因为Docker的诸多好处,准备在产品中使用,最近做了些技术的预研,本文主要介绍CentOS7使用Docker来安装MySql。...环境 CentOS:7.4 Docker: 1.13.1 MySql: 8.0.11 下载镜像 https://hub.docker.com,搜索mysql,结果如下: ?...执行下面命令重启MySql容器,容器重启的过程MySql也就重启了 docker restart mysqltest 此刻我们使用Sqlyog来连接该容器了测试下,发现会报如下错误 ?...总结 本文介绍的方法虽然最终可以连接成功,但MySql的配置文件和数据都在容器内,如果由于配置原因导致容器无法启动,数据内容将会丢失,所以更好的做法是将配置文件和数据存储挂接到宿主机,下一篇讲介绍怎样

    1.3K20

    centos安装mysql_linux下pycharm使用

    ---- centos安装pycharm ---- #全部过程如下: 1.pycharm官网下载软件(linux版),我下载的是专业版for linux http://www.jetbrains.com...download/#section=linux 文件名为:pycharm-professional-2018.3.4.tar 2.centos是阿里云的服务器,如果是虚拟机也是一样操作,然后我是先使用...WinScp将刚才下载的文件传入到centos的root目录下(选中windows的文件直接拖拽到centos),如图所示 3.使用Xshell 6远程连接服务器,进行安装操作:首先在root...目录下使用ls查看软件的压缩包是否存在,然后直接解压 tar -xf pycharm-professional-2018.3.4.tar.gz 然后输入cd pycahrm-2018.3.4进入目录...Activation code的输入框输入激活码,即可,修改如下:/下输入vim /etc/hosts,按a进入编辑模式,本文后添上 0.0.0.0 account.jetbrains.com 保存退出即可

    1.2K20

    Mybatis 查询时对通配符的处理

    首先对关键字进行转义,使用 StringEscapeUtils 对 Java 特殊字符进行转义,或者使用以下的工具类 /** * sql模糊搜索时,对查询字段作特殊处理 * 通配符转义处理后...mabatis 的 mapper 文件 like 语句后面加上 ESCAPE,告诉数据库转义字符为 “/”,转义字符后面的 % 或_就不作为通配符使用 like CONCAT(#{name},'%...', `condition`)>0 找到返回的结果都大于 0,没有查找到返回 0; 2、使用 instr () select`name` from `user` where instr(`condition...`condition`) 4、使用 find_in_set () find_in_set (str,strlist),strlist 必须要是以逗号分隔的字符串 参考: mybatis 对特殊字符的模糊查询...escape 用法 -- 转义:https://www.cnblogs.com/YuyuanNo1/p/12921578.html 使用 StringEscapeUtils 对 Java 特殊字符进行转义和反转义

    6.3K20

    Docker运行纸壳CMS并配置使用MySql

    纸壳CMS是基于ASP.Net Core开发的可视化内容管理系统,可以跨平台部署,可以容器运行。接下来看看如何在docker运行纸壳CMS。...方式一 直接运行以下命令即可在docker运行纸壳CMS,运行成功以后,使用{IP}:5000来访问: docker run -d -p 5000:80 zkeasoft/zkeacms 注意:使用这种方式运行...Client 安装mysql client,接下我将使用mysql client来连接容器MySql数据库。.../MySql/Dump3.1.2.sql 使用mysql命令来连接容器mysqlmysql --protocol=tcp -uroot -proot 注意加上--protocol=tcp,不然会出现以下错误...=zkeacms_core;User Id=root;Password=root;" zkeasoft/zkeacms 关键参数说明: --link=mysql纸壳CMS容器连接MySql容器,这样才能访问

    2.2K00
    领券