bitscn.com
mysql函数split的学习 mysql 5.* 的版本现在没有split 函数,但有些地方会用,在这里就简单记录一下:先设置:set global log_bin_trust_function_creators = 1; 1. 函数func_splitstringtotal:将字符串按指定方式分割,并计算单元总数 java代码 delimiter $$ create 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 ; 2.函数func_splitstring:将字符串按指定方式分割,获取指定位置的数 java代码 delimiter $$ drop function if exists `func_splitstring` $$ create 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$$ select func_splitstring('1,2,3,4,5,6,7',',',1); 3.过程splitstring 将字符串分割,并放到临时表tmp_split 里面 java代码 delimiter $$ drop procedure if exists `splitstring` $$ create 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_split_totallength(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