mysql函数的拆分功能实现
第一集:集全球log_bin_trust_function_creators = 1;1。功能:在指定的方式func_splitstringtotal拆分字符串计算单位总数
复制代码代码如下所示:
$分隔符
创建功能` func_get_splitstringtotal `(
f_string varchar(10000),f_delimiter varchar(50)
)返回int(11)
开始
返回1 +(长度(f_string)长(取代(f_string,f_delimiter,))));
结束美元
分隔符;
2。功能func_splitstring:字符串分为指定的方式获得指定位置数量
复制代码代码如下所示:
$分隔符
如果功能下降存在` func_splitstring `美元
创建功能` func_splitstring `
(f_string varchar(1000),f_delimiter varchar(5),f_order int)
返回varchar(255)字符集utf8
开始
宣布结果varchar(255)违约;
设置结果=(substring_index反向(反向(substring_index(f_string,f_delimiter,f_order)),f_delimiter,1));
返回结果;
结束美元
选择func_splitstring('1,2,3,4,5,6,7 ',',',1);
3。过程splitstring将字符串放在临时表tmp_split
复制代码代码如下所示:
$分隔符
下降过程是否存在` splitstring `美元
创建程序` splitstring `
(在f_string varchar(1000),在f_delimiter varchar(5))
开始
声明默认值为0;
声明int默认为0;
将碳纳米管= func_split_totallength(f_string,f_delimiter);
如果表滴存在` tmp_split `;
创建临时表` tmp_split `(` val_ ` varchar(128)不为空)默认的字符集utf8;
当我< CNT
做
设置i = i + 1;
插入tmp_split(` val_ `)值(func_split(f_string,f_delimiter,我));
结束的时候;
结束美元
电话splitstring(A,S,D,F,G,H,J ',',');
SELECT * FROM tmp_split;