热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

编程进阶:MySQLFIND_IN_SET()函数详解与应用实例

FIND_IN_SET()函数用于检查一个字符串是否存在于由逗号分隔的字符串列表中。其语法为:FIND_IN_SET(str,strlist)。该函数返回一个整数值,表示字符串str在字符串列表strlist中的位置。如果str存在于strlist中,则返回值范围从1到N(N为列表中的元素数量)。若未找到,则返回0。此函数在处理多值字段时非常有用,例如在查询用户权限或标签匹配等场景中。

语法:FIND_IN_SET(str,strlist)

定义

1). 假如字符串 str 在由N子链组成的字符串列表 strlist 中,则返回值的范围在1到N之间。

2). 一个字符串列表就是一个由一些被‘,’符号分开的自链组成的字符串。

3). 如果第一个参数是一个常数字符串,而第二个是typeSET列,则FIND_IN_SET()函数被优化,使用比特计算。

4). 如果 str 不在 strlist 或 strlist 为空字符串,则返回值为 0。

5). 如任意一个参数为 NULL,则返回值为 NULL。这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。

strlist:一个由英文逗号“,”链接的字符串,例如:"a,b,c,d",该字符串形式上类似于SET类型的值被逗号给链接起来。

示例:SELECT FIND_IN_SET('b','a,b,c,d'); //返回值为2,即第2个值

//查询 9824 该值是否在 community_id 字段列中存在

SELECT * FROM `cc_stop_gas_notice` 
WHERE FIND_IN_SET('9824',`cc_stop_gas_notice`.`community_id`)

推荐阅读
author-avatar
要去治病啊8_r
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有