mysql按逗号拼接起来_MySql逗号拼接字符串查询的两种方法
下面两个函数的使用和FIND_IN_SET一样,使用时只需要把FIND_IN_SET换成FIND_PART_IN_SET或FIND_ALL_PART_IN_SET
例如某字段里是为1,2,3,4,5
使用方法:
第一种,传入1,3,6 可以查出来
select * from XXX where FIND_PART_IN_SET('1,3,6','1,2,3,4,5')
第二种,传入1,3,6 查不出来
select * from XXX where FIND_ALL_PART_IN_SET('1,3,6','1,2,3,4,5')
函数:
第一种:只要包含其中一个就可以被查出来
CREATE DEFINER = `root`@`%` FUNCTION `NewProc`(str1 text,str2 text)
RETURNS text
BEGIN
#传入两个逗号分割的字符串,判断第二个字符串是否包含第一个字符串split之后的单个
DECLARE CURRENTINDEX INT;#当前下标
DECLARE CURRENTSTR text;
DECLARE result int;
set result = 0;
set CURRENTINDEX = 0;
set CURRENTSTR = '';
IF str1 IS NOT NULL AND str1 != '' THEN
SET CURRENTINDEX = LOCATE(',',str1);
WHILE CURRENTINDEX > 0 DO
SET CURRENTSTR = substring(str1,1,CURRENTINDEX-1);
if FIND_IN_SET(CURRENTSTR,str2) THEN
set result = 1;
end if;
SET str1 = substring(str1,CURRENTINDEX+1);
SET CURRENTINDEX = LOCATE(',',str1);
END WHILE;
#只传一个 和 最后无逗号的情况
IF LENGTH(str1) > 0 THEN
if FIND_IN_SET(str1,str2) THEN
set result = 1;
end if;
END IF;
END IF;
RETURN result;
END;
第二种:必须全部包含才可以被查出来
CREATE DEFINER = `root`@`%` FUNCTION `NewProc`(str1 text,str2 text)
RETURNS text
BEGIN
#传入两个逗号分割的字符串,判断第二个字符串是否全部包含第一个字符串split之后的单个
DECLARE CURRENTINDEX INT;#当前下标
DECLARE CURRENTSTR text;
DECLARE RESULT int;
DECLARE TOTALCOUNT int;
DECLARE TRUECOUNT int;
set RESULT = 0;
set CURRENTINDEX = 0;
set CURRENTSTR = '';
set TOTALCOUNT = 0;
set TRUECOUNT = 0;
IF str1 IS NOT NULL AND str1 != '' THEN
SET CURRENTINDEX = LOCATE(',',str1);
WHILE CURRENTINDEX > 0 DO
SET TOTALCOUNT = TOTALCOUNT + 1;
SET CURRENTSTR = substring(str1,1,CURRENTINDEX-1);
if FIND_IN_SET(CURRENTSTR,str2) THEN
SET TRUECOUNT = TRUECOUNT + 1;
end if;
SET str1 = substring(str1,CURRENTINDEX+1);
SET CURRENTINDEX = LOCATE(',',str1);
END WHILE;
#只传一个 和 最后无逗号的情况
IF LENGTH(str1) > 0 THEN
SET TOTALCOUNT = TOTALCOUNT + 1;
if FIND_IN_SET(str1,str2) THEN
SET TRUECOUNT = TRUECOUNT + 1;
end if;
END IF;
END IF;
IF TOTALCOUNT > 0 AND TRUECOUNT = TOTALCOUNT THEN
SET RESULT = 1;
END IF;
RETURN result;
END;
总结
以上所述是小编给大家介绍的MySql逗号拼接字符串查询的两种方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!
mysql按逗号拼接起来_MySql逗号拼接字符串查询的两种方法相关推荐
- mysql中逗号前的字符串_MySql逗号拼接字符串查询的两种方法
下面两个函数的使用和FIND_IN_SET一样,使用时只需要把FIND_IN_SET换成FIND_PART_IN_SET或FIND_ALL_PART_IN_SET 例如某字段里是为1,2,3,4,5 ...
- mysql数据库运行远程用户访问不了_MySQL数据库远程访问权限如何打开(两种方法)...
下载GPL版本安装 MySQL Community Edition(GPL) Community (GPL) Downloads » 在我们使用mysql数据库时,有时我们的程序与数据库不在同一机器上 ...
- mysql 查询慢 分析_MySQL优化:定位慢查询的两种方法以及使用explain分析SQL
一条SQL查询语句在经过MySQL查询优化器处理后会生成一个所谓的执行计划,这个执行计划展示了具体执行查询的方式,比如多表连接的顺序是什么,对于每个表采用什么访问方法来具体执行查询等等. 本章的内容就 ...
- mysql 单实例设置密码_MySQL单实例重置密码的两种方法
MySQL单实例重置密码的两种方法 在工作学习中,我们有时会忘记数据库的密码,下面是MySQL单实例密码重置的步骤. 说明: (1)[root@mysql1 ~]# cat /etc/redhat-r ...
- mysql数据没有同步更新_MySQL数据库主从没有同步的两种解决方案
MySQL数据库主从没有同步的两种解决方案 发布时间:2020-05-13 13:54:57 来源:亿速云 阅读:190 作者:三月 栏目:数据库 下文主要给大家带来MySQL数据库主从没有同步的两种 ...
- mysql数据库包含_MySQL数据库判断字符串包含的三种方法
方法一:SELECT * FROM users WHERE emails like "%b@email.com%"; 方法二: 利用 mysql 字符串函数 find_in_set ...
- 使用mysql创建外键约束_Mysql创建外键约束的两种方式
通过给mysql的表字段添加外键约束,可以有效的保持数据的一致性和完整性,数据就不会很容易出问题. 1.创建表时直接创建外键约束create table books( bookid number(10 ...
- mysql去重的最方便的两种方法_mysql去重的最方便的两种方法
参考资料:http://blog.csdn.net/guocuifang655/article/details/3993612 方法一: 在使用mysql时,有时需要查询出某个字段不重复的记录,虽然m ...
- mysql创建库几种方法_MySQL创建数据库的两种方法
本文为大家分享了两种mysql创建数据库的方法,供大家参考,具体内容如下 第一种方法:使用 mysqladmin 创建数据库使用普通用户,你可能需要特定的权限来创建或者删除 mysql 数据库. 所以 ...
- dapper mysql 批量_MySQL数据库之c#mysql批量更新的两种方法
本文主要向大家介绍了MySQL数据库之c#mysql批量更新的两种方法 ,通过具体的内容向大家展现,希望对大家学习MySQL数据库有所帮助. 总体而言update 更新上传速度还是慢. 1: 简单的 ...
最新文章
- 怎么解决哈希冲突_从生日悖论谈哈希碰撞
- JAVA 将图片转换为Base64编码
- Math,random()返回区间内的随机数
- OpenSql的优化原则
- 用HttpURLConnection发送http请求
- 目标赋予生命的意义和目的
- Pytest框架教程(一)
- 熊猫烧香病毒-源码学习
- git 日常 常用命令
- 亚信安全认证acse_2019亚信安全合作伙伴大会闪耀京城
- java rtf读取,java读取rtf
- linux pulseaudio卸载,解决Ubuntu 9.04 下 PulseAudio声音故障
- win7系统计算机找不到u盘启动,联想f12后没有u盘启动怎么办_联想f12没有usb启动项如何解决-win7之家...
- 堆和栈内存扩展方向问题
- WordPress的.htaccess优化技巧是什么
- 关于Olly Dbg的使用报告
- 代码打字速度_使用VueJS创建打字速度效果
- 《程序是怎么跑起来的》第五章学习笔记
- 数据库系统概论实验二——创建及管理数据库
- linux结束驱动程序,在linux上安装FTDI设备驱动程序[关闭]