最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年10月28日 10:56:36   作者:xinglei200909931  
這篇文章主要介紹了mysql split函數(shù)用逗號分隔的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

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 utf8
BEGIN  
  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):查看臨時表

SELECT val_ FROM tmp_split AS t1;

 結(jié)果:


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

相關(guān)文章

  • 解決MySQL 5.7.9版本sql_mode=only_full_group_by問題

    解決MySQL 5.7.9版本sql_mode=only_full_group_by問題

    這篇文章主要介紹了解決MySQL 5.7.9版本sql_mode=only_full_group_by問題,需要的朋友可以參考下
    2017-05-05
  • 解決Navicat for MySQL 連接 MySQL 報2005錯誤的問題

    解決Navicat for MySQL 連接 MySQL 報2005錯誤的問題

    在本地MySQL的服務(wù)啟動后,由于Navicat的一些功能需要聯(lián)網(wǎng)才可以使用,今天重點(diǎn)給大家介紹Navicat for MySQL 連接 MySQL 報2005 -Unknown MySQL server host ‘localhost’(0)錯誤的情況與解決方法,感興趣的朋友一起看看吧
    2021-05-05
  • MySQL regexp 命令詳解

    MySQL regexp 命令詳解

    REGEXP命令用于在查詢中進(jìn)行正則表達(dá)式匹配,支持多種符號和語法,如^、$、.、*、+、?、|、[]等,示例展示了如何匹配特定字符、數(shù)字、多個選項(xiàng)等,使用BINARY關(guān)鍵字可以區(qū)分大小寫,本文介紹MySQL regexp 命令,感興趣的朋友一起看看吧
    2025-03-03
  • MySQL關(guān)系型數(shù)據(jù)庫事務(wù)的ACID特性與實(shí)現(xiàn)

    MySQL關(guān)系型數(shù)據(jù)庫事務(wù)的ACID特性與實(shí)現(xiàn)

    這篇文章主要介紹了MySQL關(guān)系型數(shù)據(jù)庫事務(wù)的ACID特性與實(shí)現(xiàn),ACID?是為保證事務(wù)transaction是正確可靠的,具備原子性、一致性、隔離性、持久性等特性
    2022-07-07
  • mysql 截取指定的兩個字符串之間的內(nèi)容

    mysql 截取指定的兩個字符串之間的內(nèi)容

    今天我同事在用mysql的時候,需要對一個字符串中的指定內(nèi)容進(jìn)行截取
    2009-07-07
  • lnmp下如何關(guān)閉Mysql日志保護(hù)磁盤空間

    lnmp下如何關(guān)閉Mysql日志保護(hù)磁盤空間

    這篇文章主要介紹了lnmp下如何關(guān)閉Mysql日志保護(hù)磁盤空間的相關(guān)資料,需要的朋友可以參考下
    2015-09-09
  • MySQL Innodb行格式詳解

    MySQL Innodb行格式詳解

    在數(shù)據(jù)庫管理中,行格式是數(shù)據(jù)存儲的重要概念,尤其是在MySQL的InnoDB存儲引擎中,本文給大家介紹MySQL Innodb行格式,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • MySQL 丟失數(shù)據(jù)的原因及解決

    MySQL 丟失數(shù)據(jù)的原因及解決

    這篇文章主要介紹了MySQL 丟失數(shù)據(jù)的原因及解決,幫助大家更好的理解和學(xué)習(xí)使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-05-05
  • MySQL無法啟動的解決辦法

    MySQL無法啟動的解決辦法

    這篇文章主要介紹了MySQL無法啟動的解決辦法的相關(guān)資料,希望通過本文大家能解決數(shù)據(jù)庫不能啟動的問題,需要的朋友可以參考下
    2017-09-09
  • MySQL窗口函數(shù)OVER()用法及說明

    MySQL窗口函數(shù)OVER()用法及說明

    這篇文章主要介紹了MySQL窗口函數(shù)OVER()用法及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08

最新評論

海淀区| 友谊县| 玉树县| 如东县| 定西市| 乌海市| 克山县| 鄂托克前旗| 丰都县| 福泉市| 霍林郭勒市| 马边| 和龙市| 包头市| 灵台县| 黄陵县| 昌江| 凤凰县| 嫩江县| 若羌县| 荔波县| 铜山县| 南涧| 鹤山市| 长子县| 独山县| 本溪市| 康定县| 桐乡市| 广元市| 朔州市| 祁阳县| 中超| 仪征市| 雷山县| 福州市| 开江县| 娱乐| 莲花县| 剑川县| 白朗县|