mysql字符串分割

来源:互联网 发布:淘宝店家开通花呗 编辑:程序博客网 时间:2024/05/21 17:01

目的是把一个"aaa|bbb|ccc"这咱串分割成aaa, bbb, ccc三个串,我的入参比较固定实现所以只简单实现了就完了。以为为分割函数


DELIMITER $$



USE `cloudac_release`$$


DROP FUNCTION IF EXISTS `f_sqlit`$$


CREATE DEFINER=`cloudac`@`%` FUNCTION `f_sqlit`(f_string VARCHAR(1000),f_delimiter VARCHAR(5), number INT(10)) RETURNS VARCHAR(64)


BEGIN
DECLARE temp VARCHAR(64);

IF (number < 1 || number >3) THEN
RETURN NULL;
END IF;
IF (number = 1) THEN
RETURN SUBSTRING_INDEX(f_string,f_delimiter,1);
END IF;
IF (number = 3) THEN
RETURN SUBSTRING_INDEX(f_string,f_delimiter,-1); 
END IF;

SET temp = SUBSTRING_INDEX(f_string,f_delimiter,-2); 
RETURN SUBSTRING_INDEX(temp,f_delimiter,1); 
END$$


DELIMITER ;



调用过程

SELECT f_sqlit('asdf|1|123', '|', 3);

返回第三个值123

SELECT f_sqlit('asdf|1|123', '|', 2);

返回第二个值1

0 0
原创粉丝点击