1. 程式人生 > >mysql自定義函式--得到字串中最後一個分隔符前面的內容

mysql自定義函式--得到字串中最後一個分隔符前面的內容

工作中使用到一些特殊的字串,比如‘50-1-1-2-3’,當需要得到‘50-1-1-2’時可使用以下自定義函式</span>
DELIMITER $$
 
USE `mydb`$$
 
DROP FUNCTION IF EXISTS `get_content_before_last_separator`$$
 
CREATE DEFINER=`root`@`%` FUNCTION `get_content_before_last_separator`(charStr VARCHAR(200),separatorStr VARCHAR(200)) RETURNS VARCHAR(64) CHARSET utf8
BEGIN
    DECLARE resultStr VARCHAR(200);
     
    SELECT SUBSTRING_INDEX(charStr,separatorStr,LENGTH(charStr)-LENGTH(REPLACE(charStr,separatorStr,''))) INTO resultStr FROM DUAL;   
     
    RETURN resultStr;
END$$
 
DELIMITER ;