久久福利_99r_国产日韩在线视频_直接看av的网站_中文欧美日韩_久久一

您的位置:首頁技術(shù)文章
文章詳情頁

mysql split函數(shù)用逗號分隔的實(shí)現(xiàn)

瀏覽:42日期:2023-10-10 09:01:51

1:定義存儲過程,用于分隔字符串

DELIMITER $$USE `mess`$$DROP PROCEDURE IF EXISTS `splitString`$$CREATE DEFINER=`root`@`%` PROCEDURE `splitString`(IN f_string VARCHAR(1000),IN f_delimiter VARCHAR(5))BEGIN DECLARE cnt INT DEFAULT 0; DECLARE i INT DEFAULT 0; SET cnt = func_get_splitStringTotal(f_string,f_delimiter); DROP TABLE IF EXISTS `tmp_split`; CREATE TEMPORARY TABLE `tmp_split` (`val_` VARCHAR(128) NOT NULL) DEFAULT CHARSET=utf8; WHILE i < cnt DO SET i = i + 1; INSERT INTO tmp_split(`val_`) VALUES (func_splitString(f_string,f_delimiter,i)); END WHILE; END$$DELIMITER ;

2:實(shí)現(xiàn)func_get_splitStringTotal函數(shù):該函數(shù)用于計(jì)算分隔之后的長度,這里需要了解的函數(shù):

REPLACE(str,from_str,to_str)Returns the string str with all occurrences of the string from_str replaced by the string to_str. REPLACE() performs a case-sensitive match when searching for from_str.例如:mysql> SELECT REPLACE(’www.mysql.com’, ’w’, ’Ww’); -> ’WwWwWw.mysql.com’

具體實(shí)現(xiàn):

DELIMITER $$USE `mess`$$DROP FUNCTION IF EXISTS `func_get_splitStringTotal`$$CREATE DEFINER=`root`@`%` FUNCTION `func_get_splitStringTotal`( f_string VARCHAR(10000),f_delimiter VARCHAR(50) ) RETURNS INT(11)BEGIN RETURN 1+(LENGTH(f_string) - LENGTH(REPLACE(f_string,f_delimiter,’’))); END$$DELIMITER ;

3:實(shí)現(xiàn)func_splitString函數(shù):用于獲取分隔之后每次循環(huán)的值,這里需要了解的函數(shù):

(1)REVERSE(str)Returns the string str with the order of the characters reversed.例如:mysql> SELECT REVERSE(’abc’); -> ’cba’(2)SUBSTRING_INDEX(str,delim,count)Returns the substring from string str before count occurrences of the delimiter delim. If count is positive, everything to the left of the final delimiter (counting from the left) is returned. If count is negative, everything to the right of the final delimiter (counting from the right) is returned. SUBSTRING_INDEX() performs a case-sensitive match when searching for delim.例如:mysql> SELECT SUBSTRING_INDEX(’www.mysql.com’, ’.’, 2); -> ’www.mysql’mysql> SELECT SUBSTRING_INDEX(’www.mysql.com’, ’.’, -2); -> ’mysql.com’

具體實(shí)現(xiàn):

DELIMITER $$USE `mess`$$DROP FUNCTION IF EXISTS `func_splitString`$$CREATE DEFINER=`root`@`%` FUNCTION `func_splitString`( f_string VARCHAR(1000),f_delimiter VARCHAR(5),f_order INT) RETURNS VARCHAR(255) CHARSET utf8BEGIN DECLARE result VARCHAR(255) DEFAULT ’’; SET result = REVERSE(SUBSTRING_INDEX(REVERSE(SUBSTRING_INDEX(f_string,f_delimiter,f_order)),f_delimiter,1)); RETURN result; END$$DELIMITER ;

使用:

(1)調(diào)用存儲過程:

CALL splitString(’1,3,5,7,9’,’,’);

(2):查看臨時(shí)表

SELECT val_ FROM tmp_split AS t1;

結(jié)果:

mysql split函數(shù)用逗號分隔的實(shí)現(xiàn)

到此這篇關(guān)于mysql split函數(shù)用逗號分隔的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)mysql split逗號分隔內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: MySQL 數(shù)據(jù)庫
相關(guān)文章:
主站蜘蛛池模板: 99小视频 | 国偷自产av一区二区三区 | 欧美日韩成人在线 | 精品一区二区电影 | 色一级 | 国产一区二区毛片 | 日韩视频区| 一区二区三区免费在线观看 | 伊人欧美在线 | 国产精品成人国产乱一区 | 91在线观看视频 | 精品国产31久久久久久 | 草草精品视频 | 欧美亚洲日本 | 欧美日韩中文字幕 | 亚洲视频在线观看免费 | 亚洲一区二区三区在线免费观看 | 爱操av | 国产精品18久久久久久久久 | 日韩视频中文字幕 | 免费黄色网址在线播放 | 精品久久久久久 | 国产在视频一区二区三区吞精 | 国产一区二区在线免费观看 | 国产精品久久久久久久久久10秀 | 伊人网视频在线 | 夜夜夜久久久 | 中文字幕7777 | 极品女神高潮呻吟av久久 | 精品免费国产 | 蜜桃av一区 | 伊人网电影 | 成人三级av | 九一视频在线播放 | a级性生活 | 色欧美片视频在线观看 | 亚洲在线免费观看 | 韩日精品 | 欧美日韩综合视频 | 一区二区三区免费在线观看 | 性视频黄色 |