欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時間:2020年10月28日 10:56:36   作者:xinglei200909931  
這篇文章主要介紹了mysql split函數(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:實現(xiàn)func_get_splitStringTotal函數(shù):該函數(shù)用于計算分隔之后的長度,這里需要了解的函數(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'

具體實現(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:實現(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'

具體實現(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ù)用逗號分隔的實現(xiàn)的文章就介紹到這了,更多相關(guān)mysql split逗號分隔內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • mysql連接查詢、聯(lián)合查詢、子查詢原理與用法實例詳解

    mysql連接查詢、聯(lián)合查詢、子查詢原理與用法實例詳解

    這篇文章主要介紹了mysql連接查詢、聯(lián)合查詢、子查詢原理與用法,結(jié)合實例形式詳細(xì)分析了mysql連接查詢、聯(lián)合查詢、子查詢的基本概念、功能、原理、用法及操作注意事項,需要的朋友可以參考下
    2020-04-04
  • MySql帶OR關(guān)鍵字的多條件查詢語句

    MySql帶OR關(guān)鍵字的多條件查詢語句

    MySQL帶OR關(guān)鍵字的多條件查詢,與AND關(guān)鍵字不同,OR關(guān)鍵字,只要記錄滿足任意一個條件,就會被查詢出來。即AND的優(yōu)先級高于OR
    2017-07-07
  • mysql binlog占用大量磁盤空間的解決方法

    mysql binlog占用大量磁盤空間的解決方法

    MySQL binlog(Binary Log)是MySQL數(shù)據(jù)庫的一種重要組件,用于記錄所有對數(shù)據(jù)庫的更改操作,當(dāng)MySQL服務(wù)器接收到對數(shù)據(jù)庫的寫入請求并成功執(zhí)行后,這些更改會被寫入binlog,本文給大家介紹了mysql binlog占用大量磁盤空間的解決方法,需要的朋友可以參考下
    2024-06-06
  • MySQL的表分區(qū)詳解

    MySQL的表分區(qū)詳解

    這篇文章主要介紹了MySQL的表分區(qū),例如什么是表分區(qū)、為什么要對表進(jìn)行分區(qū)、表分區(qū)的4種類型詳解等,需要的朋友可以參考下
    2014-03-03
  • MySQL查看數(shù)據(jù)庫連接數(shù)的方法

    MySQL查看數(shù)據(jù)庫連接數(shù)的方法

    本文主要介紹了MySQL查看數(shù)據(jù)庫連接數(shù)的方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-08-08
  • MySQL8.0新特性之不可見主鍵的使用

    MySQL8.0新特性之不可見主鍵的使用

    MySQL8.0.30版本引入不可見主鍵,它可以自動為沒有顯式指定主鍵的?InnoDB?表創(chuàng)建一個不可見的主鍵,本文主要介紹了MySQL8.0新特性之不可見主鍵的使用,具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • mysql 5.7.13 安裝配置筆記(Mac os)

    mysql 5.7.13 安裝配置筆記(Mac os)

    這篇文章主要為大家詳細(xì)介紹了Mac os下mysql 5.7.13 安裝配置方法教程,感興趣的小伙伴們可以參考一下
    2016-06-06
  • MySQL日期數(shù)據(jù)類型、時間類型使用總結(jié)

    MySQL日期數(shù)據(jù)類型、時間類型使用總結(jié)

    MySQL日期數(shù)據(jù)類型、MySQL時間類型使用總結(jié),需要的朋友可以參考下。
    2010-06-06
  • MySQL索引優(yōu)化之分頁探索詳細(xì)介紹

    MySQL索引優(yōu)化之分頁探索詳細(xì)介紹

    大家好,本篇文章主要講的是MySQL索引優(yōu)化之分頁探索詳細(xì)介紹,感興趣的同學(xué)趕快來看看吧,對你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • MySQL數(shù)據(jù)庫觸發(fā)器從小白到精通

    MySQL數(shù)據(jù)庫觸發(fā)器從小白到精通

    觸發(fā)器是SQLserver提供給程序員和數(shù)據(jù)分析員來保證數(shù)據(jù)完整性的一種方法,它是與表事件相關(guān)的特殊的存儲過程,它的執(zhí)行不是由程序調(diào)用,也不是手工啟動,而是由事件來觸發(fā),比如當(dāng)對一個表進(jìn)行操作時就會激活它執(zhí)行。觸發(fā)器經(jīng)常用于加強數(shù)據(jù)的完整性約束和業(yè)務(wù)規(guī)則等
    2022-03-03

最新評論