码迷,mamicode.com
首页 > 数据库 > 详细

mysql字符串分割函数

时间:2015-10-16 20:30:34      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:

由于工作需要需要处理一些以逗号分隔的字符串,每次都要现做很是麻烦,网上找了很多都没有现成的,好吧,自己动手写一个好了

 1 CREATE DEFINER = `harri`@`%` FUNCTION `substr_for_str`(`num` int, `str` varchar(5000))
 2  RETURNS varchar(100)
 3 BEGIN
 4     /*函数功能: 把带逗号的字符串分割取出
 5         参数: num 要取出的字符串的索引值, 以0开始
 6                     str 以逗号分割的字符串
 7         扩展: 将逗号替换成其他符合,即可完成不同分隔符拆分字符串,亦可以把分隔符作为参数
 8   */
 9 SET @substr_for_str = #Routine body goes here...
10     
11 SUBSTRING(
12         SUBSTRING_INDEX(str, ,, num + 1),
13         CASE num
14     WHEN 0 THEN
15         CHAR_LENGTH(
16             SUBSTRING_INDEX(str, ,, num)
17         ) + 1
18     ELSE
19         CHAR_LENGTH(
20             SUBSTRING_INDEX(str, ,, num)
21         ) + 2
22     END,
23     CASE num
24 WHEN 0 THEN
25     CHAR_LENGTH(
26         SUBSTRING_INDEX(str, ,, num + 1)
27     ) - CHAR_LENGTH(
28         SUBSTRING_INDEX(str, ,, num)
29     )
30 ELSE
31     CHAR_LENGTH(
32         SUBSTRING_INDEX(str, ,, num + 1)
33     ) - CHAR_LENGTH(
34         SUBSTRING_INDEX(str, ,, num)
35     ) - 1
36 END
37     );
38 
39 
40     RETURN @substr_for_str;
41 END;

 测试:

mysql> SELECT str_for_substr(3,‘one,two,three,four,five,six,seven‘) as ‘value‘;
+-------+
| value |
+-------+
| four |
+-------+
1 row in set

mysql字符串分割函数

标签:

原文地址:http://www.cnblogs.com/jiangwenju/p/4886066.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!