介绍
怎么在MySql中使用逗号拼接字符串?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
例如某字段里是为1,2,3,4,5,
<强>使用方法:强>
第一种,传入1、3、6,可以查出来
select *,得到XXX where FIND_PART_IN_SET (& # 39; 1、3、6 & # 39;, & # 39; 1, 2, 3, 4, 5 & # 39;)
第二种,传入1、3、6,查不出来
select *,得到XXX where FIND_ALL_PART_IN_SET (& # 39; 1、3、6 & # 39;, & # 39; 1, 2, 3, 4, 5 & # 39;)
<强>函数:强>
第一种:只要包含其中一个就可以被查出来
CREATE DEFINER =,“根”@“%”,FUNCTION “NewProc”(str2  str1 文本,文本) RETURNS 文本 开始 ,#传入两个逗号分割的字符串,判断第二个字符串是否包含第一个字符串之分裂后的单个 DECLARE CURRENTINDEX  INT; #当前下标 DECLARE CURRENTSTR 文本; DECLARE result  int; set result =, 0; set CURRENTINDEX =, 0; set CURRENTSTR =, & # 39; & # 39;; IF str1  IS NOT  NULL 以及str1 !=, & # 39; & # 39;然后 ,SET CURRENTINDEX =,定位(& # 39;& # 39;str1); ,WHILE CURRENTINDEX 祝辞,0, ,SET CURRENTSTR =, substring (str1 1 CURRENTINDEX-1); ,if FIND_IN_SET (CURRENTSTR str2), set 才能;result =, 1; ,最终获得;如果; ,SET str1 =, substring (str1, CURRENTINDEX + 1); ,SET CURRENTINDEX =,定位(& # 39;& # 39;str1); ,最终获得;; ,#只传一个,和,最后无逗号的情况 时间长度(str1), IF 在0,那么 ,if FIND_IN_SET (str1 str2), set 才能;result =, 1; ,最终获得;如果; ,最终获得;如果; 最终获得;如果; RETURN 结果; 结束;
第二种:必须全部包含才可以被查出来
CREATE DEFINER =,“根”@“%”,FUNCTION “NewProc”(str2  str1 文本,文本) RETURNS 文本 开始 ,#传入两个逗号分割的字符串,判断第二个字符串是否全部包含第一个字符串之分裂后的单个 DECLARE CURRENTINDEX  INT; #当前下标 DECLARE CURRENTSTR 文本; DECLARE RESULT  int; DECLARE TOTALCOUNT  int; DECLARE TRUECOUNT  int; set RESULT =, 0; set CURRENTINDEX =, 0; set CURRENTSTR =, & # 39; & # 39;; set TOTALCOUNT =, 0; set TRUECOUNT =, 0; IF str1  IS NOT  NULL 以及str1 !=, & # 39; & # 39;然后 ,SET CURRENTINDEX =,定位(& # 39;& # 39;str1); ,WHILE CURRENTINDEX 祝辞,0, ,SET TOTALCOUNT =, TOTALCOUNT +, 1; ,SET CURRENTSTR =, substring (str1 1 CURRENTINDEX-1); ,if FIND_IN_SET (CURRENTSTR str2), SET 才能;TRUECOUNT =, TRUECOUNT +, 1; ,最终获得;如果; ,SET str1 =, substring (str1, CURRENTINDEX + 1); ,SET CURRENTINDEX =,定位(& # 39;& # 39;str1); ,最终获得;; ,#只传一个,和,最后无逗号的情况 时间长度(str1), IF 在0,那么 ,SET TOTALCOUNT =, TOTALCOUNT +, 1; ,if FIND_IN_SET (str1 str2), SET 才能;TRUECOUNT =, TRUECOUNT +, 1; ,最终获得;如果; ,最终获得;如果; 最终获得;如果; IF TOTALCOUNT 祝辞,0,以及TRUECOUNT =, TOTALCOUNT THEN ,SET RESULT =, 1; 最终获得;如果; RETURN 结果; 结束;
关于怎么在MySql中使用逗号拼接字符串问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。