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

TSQL中的MySQL FIND_IN_SET()

()是一个用于在字符串列表中查找指定值的函数。它的语法如下:

FIND_IN_SET(search_value, string_list)

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

该函数的作用是在string_list中查找search_value,并返回其在列表中的位置。如果找到了,则返回对应的位置索引(从1开始),如果未找到,则返回0。

该函数的应用场景包括但不限于以下几种情况:

  1. 判断某个值是否存在于一个以逗号分隔的字符串列表中。
  2. 根据某个值在字符串列表中的位置进行排序或筛选。
  3. 在数据库中进行复杂的查询操作,例如根据某个字段的多个取值进行筛选。

腾讯云提供了多种与MySQL相关的产品和服务,包括云数据库 MySQL、云数据库 MySQL 版、云数据库 MariaDB、云数据库 TDSQL 等。您可以根据具体需求选择适合的产品进行使用。

更多关于腾讯云数据库产品的信息,您可以访问以下链接:

  • 云数据库 MySQL:https://cloud.tencent.com/product/cdb_mysql
  • 云数据库 MySQL 版:https://cloud.tencent.com/product/cdb_mysql_version
  • 云数据库 MariaDB:https://cloud.tencent.com/product/cdb_mariadb
  • 云数据库 TDSQL:https://cloud.tencent.com/product/tdsql

请注意,以上答案仅供参考,具体的产品选择和使用方式应根据实际需求进行评估和决策。

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

相关·内容

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查询结果。

19210

mysqlfind_in_set()函数使用

----------------- MySQL手册find_in_set函数语法: FIND_IN_SET(str,strlist) str 要查询字符串 strlist 字段名 参数以”,...需要得到某字段包含某个值记录,但是它也不是用like能解决,使用like可能查到我们不想要记录,它比like更精准,这时候mysqlFIND_IN_SET函数就派上用场了,下面来看一个例子。...注意:mysql字符串函数 find_in_set(str1,str2)函数是返回str2str1所在位置索引,str2必须以","分割开。...----------------- MySQL手册find_in_set函数语法: FIND_IN_SET(str,strlist) str 要查询字符串 strlist 字段名 参数以”,...注意:mysql字符串函数 find_in_set(str1,str2)函数是返回str2str1所在位置索引,str2必须以","分割开。

3.4K40

MySQLFIND_IN_SET探险记

1、业务背景 公司业务需求是需要分权限分等级获取不同内容,因为原来角色,权限,分组表已经建好,但是又要实现不同产品需要不同等级不同分组的人员管理,在做数据库查询时,需要得到某字段包含某个值记录...,但是它也不是用like能解决,使用like可能查到我们不想要记录,它比like更精准,查找资料后发现涉及到数据库特有函数,候mysqlFIND_IN_SET函数就派上用场了,下面来具体了解一下...其实where 类似于 if 就是对条件判断,返回 true or false。在检索过程,将满足条件,即条件为true结果返回。...贴图: 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 FIND_IN_SET('1',pingid 原来以为mysql可以进行这样查询----->(一) select id, list...这样只有当name是list第一个元素时,查询才有效,否则都不到结果,即使'daodao'真的再list 再来看看这个:----->(二) select id, list, name from...原因其实是(一) (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

mysql 函数: find_in_set()、instr()

1. find_in_set() 用于在多个字符串子链查询字符串 ---- find_in_set(str, strlist) str: 要查询字符串 strlist: 字段名或字符串, 多个子链以英文逗号...`分割 返回值: 假如字符串 str 在由 N 个子链组成字符串列表 strlist ,则返回值范围在 1 到 N 之间, 不在 strlist 则返回 0 以下示例返回值则为: 3 , 因为字符串...yang 在第三个子链 select find_in_set('yang', 'liang,chen,yang'); 应用场景: 在文章表 article 中有个标签字段 tags,一个文章可以有多个标签...标签 id: 1 html 2 css 3 javascript, tags 以 1,2,3 格式存储标签,那么我们可以使用 find_in_set 查找出 tags 中有 1 标签 select...* from article where find_in_set(1, `tags`); 2. instr() 用于在字符串查询子字符串 ---- 用于在字符串查询子字符串, 返回子字符串在字符串首次出现位置

87530

MySQL find_in_set函数深入解析与应用

在数据库操作,我们经常会遇到需要处理以逗号分隔字符串,并且需要根据这些字符串进行查询情况。MySQL提供了一个非常实用函数FIND_IN_SET()来处理这种特定查询需求。...FIND_IN_SET()是MySQL一个字符串函数,用于搜索一个字符串在另一个逗号分隔字符串列表位置。如果找到匹配,它返回一个大于0整数表示位置,否则返回0。...FIND_IN_SET()基本使用 让我们看一个简单例子,如何使用FIND_IN_SET()函数来查找喜欢阅读用户。...()是一个非常方便函数,可以帮助我们快速地查询出在逗号分隔字符串列表查找特定字符串需求。...在设计数据库和查询时,最好还是遵循数据库范式规则,将多值属性分解成独立表结构,以便更有效地利用数据库索引,提高查询性能。 后续内容文章持续更新… 近期发布。

51410

MySQL 8.0.23上遇到一个FIND_IN_SETBUG

1、背景 在MySQL 8.0.23出现执行SQL超时报错,而在MySQL8.0.18版本上未出现,故做个记录,以飨读者。...FIND_IN_SET第二个参数传入执行也很快。...而我单独执行上面完整SQL就会出现超时报错:(这为了演示,我就没有等到报错再截图了) 奇怪是这个SQL在MySQL8.0.18上没有出现问题。...能快速正常计算出结果(67ms): 4、总结 为此,我们目前给客户建议是降低MySQL版本。 之所以给客户用8.0.18旧版,是因为我们产品在旧版上进行了很多轮次测试都是正常。...而这一次客户现场测试环境MySQL版本是客户定,我们产品没在这个版本跑过,所以才给出这个建议。后续我会在新版做一轮测试看看。 此外,我们也会尝试去MySQL官网报告bug(#105277)。

70810

mysql 多表关联查询 实现 全文匹配 模糊搜索接口 SQLmysql 多表关联查询 实现 全文匹配 模糊搜索接口 SQL

FIND_IN_SET使用方法 在mysql,有时我们在做数据库查询时,需要得到某字段包含某个值记录,但是它也不是用like能解决,使用like可能查到我们不想要记录,它比like更精准,...这时候mysqlFIND_IN_SET函数就派上用场了,下面来具体了解一下。...返回值 下面查询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查询结果

2.4K20

【黄啊码】thinkphp5查询字段是否包含某个值方法

最新解决方案: 对于一些实在复杂查询,比如find_in_set,也可以直接使用原生SQL语句进行查询,例如: Db::table('think_user') ->where('find_in_set...(1,sids)') ->select(); 为了安全起见,我们可以对字符串查询条件使用参数绑定,例如: Db::table('think_user') ->where('find_in_set...(:id,sids)',['id'=>$id]) ->select(); 其他解决方案: 在thinkphp5使用mysql find_in_set语法时,可以使用EXP(表达式查询)来实现,...: $where[]=['exp','FIND_IN_SET(2,sids)']; 当然也有朋友说建议用like,like是广泛模糊匹配,字符串没有分隔符,Find_IN_SET 是精确匹配,字段值以英文...","分隔,Find_IN_SET查询结果要小于like查询结果。

1.5K20

mysql介绍+php效率常识

mysqlFIND_IN_SET函数使用方法 有个文章表里面有个type字段,他存储是文章类型,有 1头条,2推荐,3热点,4图文 …..11,12,13等等 现在有篇文章他既是 头条,又是热点,还是图文..., type以 1,3,4格式存储....先看mysql手册find_in_set函数语法: FIND_IN_SET(str,strlist) 假如字符串str 在由N 子链组成字符串列表strlist , 则返回值范围在 1 到 N...mysql> SELECT FIND_IN_SET(‘b’,’a,b,c,d’); -> 2 用起来很简单,就以上面我说到情况来举例: SELECT * FROM article WHERE FIND_IN_SET...18、在方法递增局部变量,速度是最快。几乎与在函数调用局部变量速度相当。 19、递增一个全局变量要比递增一个局部变量慢2倍。

2.9K90

MySql常用函数(逻辑判断,字符串处理,日期函数)FIND_IN_SET、IF、ISNULL、IFNULL、NULLIF、SUBSTR、SUBSTRING_INDEX、CONCAT、LENGTH

数据库版本:MySql 5.7 FIND_IN_SET 定义: 在逗号分隔字符串列表查找指定字符串位置 FIND_IN_SET(str,strlist) FIND_IN_SET()函数接受两个参数...第二个参数strlist是要搜索逗号分隔字符串列表 FIND_IN_SET()函数根据参数值返回一个整数或一个NULL值: 如果str或strlist为NULL,则函数返回NULL值。...如果str不在strlist,或者strlist是空字符串,则返回零。 如果str在strlist,则返回一个正整数。...NULLIF(exper1,exper2) 字符串函数 SUBSTR SUBSTR (str, pos) 截取从pos位置开始到最后所有str字符串,mysqlstart是从1开始 SUBSTR...(str, pos, len) 参数说明: str为列名/字符串; pos为起始位置;mysql起始位置pos是从1开始;如果为正数,就表示从正数位置往下截取字符串(起始坐标从1开始),反之如果起始位置

1.4K10

使用tp框架和SQL语句查询数据表某字段包含某值

有时我们需要查询某个字段是否包含某值时,通常用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...数据库关键字要以英文“,”分隔; 2.存储数据要对分隔符进行处理,保证以英文“,”分隔关键字。...以上这篇使用tp框架和SQL语句查询数据表某字段包含某值就是小编分享给大家全部内容了,希望能给大家一个参考。

7.4K31

Mysql实现树形递归查询

最近在做项目迁移,Oracle版本迁到Mysql版本,遇到有些oracle函数,mysql并没有,所以就只好想自定义函数或者找到替换函数方法进行改造。...关键字可以放在等号前面,也可以放在等号后面,表示意义是不一样,比如 prior id = pid,就表示pid就是这条记录根节点了 具体可以参考我以前写一篇oracle方面的博客:https...递归查询 下面主要介绍Mysql方面的实现,Mysql并没有提供类似函数,所以只能通过自定义函数实现,网上很多这种资料,不过已经不知道那篇是原创了,这篇博客写不错,https://www.2cto.com.../database/201209/152513.html, 下面我也是用作者提供方法实现自己,先感谢作者分享 这里借用作者提供自定义函数,再加上Find_in_set函数 find_in_set...=''"> and find_in_set(u.unit_code,getunitChildList(#{unitCode})) <if test="unitName

5.5K30
领券