自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

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

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

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

apple
banana
orange
pears
grape

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

1、具體函數(shù):

  1. # 函數(shù):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. # 函數(shù):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字符串相加函數(shù)用法示例

MySQL截取字符串函數(shù)方法

MySQL分割字符串的實現(xiàn)

深入研究MySQL結果字符串

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

責任編輯:段燃 來源: 三知開發(fā)網(wǎng)
相關推薦

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存儲

2023-01-11 16:49:13

MySQL數(shù)據(jù)庫

2021-09-07 06:40:25

貪心平衡字符串

2020-11-03 18:36:37

面試字符串算法

2009-12-01 09:18:50

PHP分割字符串

2022-12-06 08:27:50

Bash腳本字符串

2010-11-26 09:51:54

MySQL字符串

2010-09-02 09:58:24

SQL刪除

2011-07-22 15:38:54

SQL Server數(shù)存儲過程切割字符串

2023-02-26 00:00:02

字符串分割String

2023-12-15 09:49:54

回溯解決組合問題數(shù)組

2009-10-13 16:09:27

.NET字符串解析

2013-04-28 10:36:00

Obj-C數(shù)組Obj-C字符串拼接與

2020-08-25 08:56:55

Pythonawk字符串

2021-12-24 11:59:47

數(shù)據(jù)結構算法字符串

2021-04-15 00:16:18

JavaString字符串
點贊
收藏

51CTO技術棧公眾號