【原】mysql5.6 split函数_字符串的分割 - Belinda

发布时间:2017-1-22 11:36:41 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"【原】mysql5.6 split函数_字符串的分割 - Belinda",主要涉及到【原】mysql5.6 split函数_字符串的分割 - Belinda方面的内容,对于【原】mysql5.6 split函数_字符串的分割 - Belinda感兴趣的同学可以参考一下。

DROP FUNCTION IF EXISTS `getSplitName`$$     CREATE FUNCTION `getSplitName`(f_string text,f_delimiter varchar(100)) RETURNS textBEGIN    /*    对逗号进行分离的字符串,分割出'登陆名_用户名/部门名'中的_后部门字符串,以逗号拼接    例:"admin_管理员1,admin_管理员2,admin_管理员3,admin_管理员4,admin_管理员5"这种格式的字符串,调用func_get_name(str,"_")            可得到"管理员1,管理员2,管理员3,管理员4,管理员5"这样的字符串。    */    #Routine body goes here...    DECLARE i int(11);    DECLARE total int(11);    DECLARE result text;    DECLARE resulttemp text;    SET i=1;    SET result = '';    set resulttemp = '' ;    set total = 1+(LENGTH(f_string)-LENGTH(replace(f_string,',','')));    IF(f_string is NULL or LENGTH(f_string)=0) THEN        RETURN '无内容';    ELSE        WHILE i<=total DO                set resulttemp = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(f_string,',',i)),',',1));                IF(LENGTH(result)=0) THEN                    set result = CONCAT(result,SUBSTRING_INDEX(resulttemp,f_delimiter,-1));                ELSE                    set result = CONCAT(CONCAT(result,','),SUBSTRING_INDEX(resulttemp,f_delimiter,-1));                END IF;                set i = i+1;        END WHILE;    END IF;    RETURN result;END

上一篇:生产排产表DL-ZPPR002
下一篇:C#枚举中的位运算权限分配浅谈

相关文章

相关评论