專案有通過一批id去過濾結果的需求,因為這個id是從其他平台拉下來的excel,為了避免加引號逗號的麻煩,在mysql儲存過程裡面拼接。在此做個記錄。很多地方用得上。
1.通過某個字元,分割字串的函式。輸入分別為f_string(待分割字串),f_delimiter(分割字元),f_order(取的字串的index)
delimiter $$
use `money`$$
drop function if exists `f_split_string`$$
create definer=`root`@`%` function `f_split_string`(
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$$
delimiter ;
2.要迴圈取分割出來的字串就得知道分割出來多少個字串
3.處理一串以n分割的字串,把它們加上分號和逗號。
'1518393292248-9957634
1518404097075-8568716
1518392385006-9013409'轉換成
'1518393292248-9957634','1518404097075-8568716','1518392385006-9013409'
delimiter $$
use `money`$$
begin
set @temp_id = "";
set @i = 1;
if @i = 1 then
else
end if;
set @i = @i + 1;
end while;
end$$
delimiter ;
mysql分割字串 mysql分割字串
專案有通過一批id去過濾結果的需求,因為這個id是從其他平台拉下來的excel,為了避免加引號逗號的麻煩,在mysql儲存過程裡面拼接。在此做個記錄。很多地方用得上。1.通過某個字元,分割字串的函式。輸入分別為f string 待分割字串 f delimiter 分割字元 f order 取的字串的...
mysql分割字串
一 今天寫東西用到資料庫分割字串,把 貼一下,留個腳印 二 主要部分如下 vpedoids 1,2,3 declare i int set i 1 if i 1 then select substring index vpedoids,i into temp else set temp substr...
mysql街字串 MySQL字串分割
在mysql中沒有字串分割函式功能,但可以通過巧妙地使用不同的字串函式來實現。假設有如下的表 mysql create table address id integer auto increment primary key,fullname varchar 255 company varchar 2...