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

  介绍

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

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