成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

利用MySQL存儲過程分割字符串

數據庫 MySQL
在MySQL數據庫中,我們可以使用存儲過程實現字符串的分割,下文就為您介紹該方法的完整實現過程,希望對您能有所啟迪。

MySQL存儲過程可以用于分割字符串,下面就為您詳細介紹這種MySQL存儲過程的用法,供您參考學習之用。

現有一段字符串,如apple,banana,orange,pears,grape,要把它按照逗號(,)分割成:

apple
banana
orange
pears
grape

然后使用where in()方法可以查詢。

1、具體函數:

  1. # 函數:func_split_TotalLength 
  2. DELIMITER $$ 
  3. DROP function IF EXISTS `func_split_TotalLength` $$ 
  4. CREATE DEFINER=`root`@`%` FUNCTION `func_split_TotalLength` 
  5. (f_string varchar(1000),f_delimiter varchar(5)) RETURNS int(11) 
  6. BEGIN 
  7.     # 計算傳入字符串的總length 
  8.     return 1+(length(f_string) - length(replace(f_string,f_delimiter,''))); 
  9. END$$ 
  10. DELIMITER; 
  1. # 函數:func_split 
  2. DELIMITER $$ 
  3. DROP function IF EXISTS `func_split` $$ 
  4. CREATE DEFINER=`root`@`%` FUNCTION `func_split` 
  5. (f_string varchar(1000),f_delimiter varchar(5),f_order intRETURNS varchar(255) CHARSET utf8 
  6. BEGIN 
  7.     # 拆分傳入的字符串,返回拆分后的新字符串 
  8.         declare result varchar(255) default ''
  9.         set result = reverse(substring_index(reverse(substring_index(f_string,f_delimiter,f_order)),f_delimiter,1)); 
  10.         return result; 
  11. END$$ 
  12. DELIMITER; 
  1. # 存儲過程:splitString 
  2. DELIMITER $$ 
  3. DROP PROCEDURE IF EXISTS `splitString` $$ 
  4. CREATE PROCEDURE `splitString` 
  5. (IN f_string varchar(1000),IN f_delimiter varchar(5)) 
  6. BEGIN 
  7. # 拆分結果 
  8. declare cnt int default 0; 
  9. declare i int default 0; 
  10. set cnt = func_split_TotalLength(f_string,f_delimiter); 
  11. DROP TABLE IF EXISTS `tmp_split`; 
  12. create temporary table `tmp_split` (`status` varchar(128) not nullDEFAULT CHARSET=utf8; 
  13. while i < cnt 
  14. do 
  15.     set i = i + 1; 
  16.     insert into tmp_split(`status`) values (func_split(f_string,f_delimiter,i)); 
  17. end while; 
  18. END$$ 
  19. DELIMITER; 

2、測試是否能成功分割

  1. call splitString("apple,banana,orange,pears,grape",","); 
  2. select * from tmp_split; 

 運行結果如下,說明分割成功:

mysql> call splitString("apple,banana,orange,pears,grape",",");
select * from tmp_split;
Query OK, 1 row affected

+--------+
| status |
+--------+
| apple  |
| banana |
| orange |
| pears  |
| grape  |
+--------+
5 rows in set

mysql>

3、應用where in()查詢

  1. # 先傳入字符串,分割后保存在臨時表tmp_split中 
  2. call splitString("apple,banana,orange,pears,grape",","); 
  3. # 將查詢的結果作為其他查詢的條件來使用 
  4. select * from fruit where in(select * from tmp_split); 

以上就是利用MySQL存儲過程分割字符串的方法介紹。

 

 

【編輯推薦】

MySQL字符串相加函數用法示例

MySQL截取字符串函數方法

MySQL分割字符串的實現

深入研究MySQL結果字符串

快速開啟MySQL慢日志查詢的方法

責任編輯:段燃 來源: 三知開發網
相關推薦

2010-11-26 10:43:48

MySQL分割字符串

2010-10-09 11:43:10

MYSQL字符串

2009-08-07 14:15:21

C#字符串分割

2021-03-08 08:23:24

Java字符串截取

2011-05-18 09:50:53

Oracle存儲

2021-09-07 06:40:25

貪心平衡字符串

2023-01-11 16:49:13

MySQL數據庫

2009-12-01 09:18:50

PHP分割字符串

2020-11-03 18:36:37

面試字符串算法

2022-12-06 08:27:50

Bash腳本字符串

2010-09-02 09:58:24

SQL刪除

2010-11-26 09:51:54

MySQL字符串

2011-07-22 15:38:54

SQL Server數存儲過程切割字符串

2023-02-26 00:00:02

字符串分割String

2023-12-15 09:49:54

回溯解決組合問題數組

2009-10-13 16:09:27

.NET字符串解析

2013-04-28 10:36:00

Obj-C數組Obj-C字符串拼接與

2020-08-25 08:56:55

Pythonawk字符串

2011-05-16 13:15:55

MySQL存儲字符集

2021-12-24 11:59:47

數據結構算法字符串
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美日韩免费视频 | 亚洲日本激情 | 亚洲一区二区三区四区五区午夜 | 国产精品观看 | 国产精品1区 | 91看片网 | 亚洲精品久久久久中文字幕二区 | 91精品国产91久久综合桃花 | 午夜一区二区三区在线观看 | 中国xxxx性xxxx产国 | 在线播放国产一区二区三区 | 日韩三级免费观看 | 精品乱码一区二区 | 99r在线 | 国产十日韩十欧美 | 色女人天堂 | 日韩在线精品 | 亚洲男人天堂 | av在线一区二区三区 | 欧美成人免费电影 | 久久精品这里 | aa级毛片毛片免费观看久 | 日本高清视频在线播放 | 精品免费国产视频 | 欧美一级高清片 | 国产精品国产精品国产专区不蜜 | 欧美日韩国产综合在线 | 一级片aaa| 精品国产一区二区三区久久久久久 | 99精品视频免费观看 | 国产区免费视频 | 夜夜撸av | 成人在线免费观看av | 成人中文字幕在线 | 国产网站在线播放 | 在线日韩 | 欧美精品电影一区 | 先锋av资源在线 | 日韩精品在线免费观看 | 亚洲高清视频一区二区 | 亚洲精品久久久久久久不卡四虎 |