我的编程空间,编程开发者的网络收藏夹
学习永远不晚

怎么在MySql中使用逗号拼接字符串

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

怎么在MySql中使用逗号拼接字符串

怎么在MySql中使用逗号拼接字符串?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

例如某字段里是为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中使用逗号拼接字符串问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

怎么在MySql中使用逗号拼接字符串

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

java如何将list字符串用逗号隔开拼接字符串

这篇文章主要介绍了java如何将list字符串用逗号隔开拼接字符串,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。第一种:使用谷歌Joiner方法import com.goog
2023-06-22

怎么在JavaScript中使用join拼接字符串

本篇文章为大家展示了怎么在JavaScript中使用join拼接字符串,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。javascript是一种什么语言javascript是一种动态类型、弱类型的语言
2023-06-14

怎么在Java8中使用StringJoiner类拼接字符串

怎么在Java8中使用StringJoiner类拼接字符串?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。假设现在遍历一个字符串集合,需求是每个元素按照 “.” 分开。Str
2023-06-06

怎么在Shell中拼接字符串

怎么在Shell中拼接字符串?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 字符串声明概述字符串的基本操作脚本 1# 声明字符串str01="str01"echo ${
2023-06-09

Mysql逗号拼接字符串的关联查询及统计问题怎么解决

这篇“Mysql逗号拼接字符串的关联查询及统计问题怎么解决”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Mysql逗号拼接字
2023-03-09

Mysql逗号拼接字符串的关联查询以及统计问题

目录背景:一、查询问题二、统计问题三、效率问题总结背景:数据库中逗号拼接的字符串,想展示其完整拼接名称或者按其值统计处理,怎么做?FIND_IN_SET函数和GROUP_CONCAT函数你会用吗?一、查询问题eg两张表 t_conc
2023-03-06

mysql怎么查询拼接字符串

在MySQL中,可以使用CONCAT函数来拼接字符串。例如,以下是一个查询示例:SELECT CONCAT(first_name, ' ', last_name) AS full_nameFROM employees
mysql怎么查询拼接字符串
2024-03-02

sql中怎么拼接字符串

在 sql 中,可使用以下方法连接字符串:加号运算符 (+)concat() 函数|| 运算符(oracle)concat_ws() 函数(mysql)|| 操作符(postgresql,用双引号括起字符串)SQL 中字符串拼接的方法在
sql中怎么拼接字符串
2024-05-15

oracle中怎么拼接字符串

oracle 提供多种拼接字符串的方法:concat() 函数:串联多个字符串参数。|| 操作符:连接两个字符串。dbms_lob 包:使用 lob 类型存储长字符串。如何使用 Oracle 拼接字符串Oracle 提供了几种方法来拼接字
oracle中怎么拼接字符串
2024-05-21

mysql怎么将字符串和数字拼接

在MySQL中,可以使用CONCAT函数将字符串和数字拼接在一起。以下是一个示例:SELECT CONCAT(字符串, 数字) AS 结果;在上面的示例中,将字符串 ‘字符串’ 和数字 替换为你要拼接的实际字符串和数字。将结果作为 ‘结
mysql怎么将字符串和数字拼接
2024-04-09

Java 中多个字符串如何进行拼接?(java多个字符串怎么拼接)

在Java编程中,字符串拼接是一个常见的操作。当需要将多个字符串组合在一起时,Java提供了多种方法来实现字符串的拼接。以下是几种常见的方式:一、使用“+”运算符“+”运算符是Java中用于字符串拼接的最基本方式。它可
Java 中多个字符串如何进行拼接?(java多个字符串怎么拼接)
Java2024-12-14

编程热搜

目录