MemSQL еще не имеет функции, подобной функции Python string split
, которая преобразует строку с разделителями в массив строк.В MemSQL 6.5 лучшим способом было бы сделать что-то подобное, используя встроенную функцию locate
.
delimiter //
create or replace procedure insert_split_string(input text, d text) as
declare
position int = 1;
newPosition int = -1;
begin
while newPosition != 0 loop
newPosition = locate(d, input, position);
if newPosition != 0 then
insert into t values(substring(input, position, newPosition - position));
position = newPosition + 1;
end if;
end loop;
-- Add the last delimited element
insert into t values(substring_index(input, d, -1));
end //
delimiter ;
create table t(i int);
call insert_split_string("1,2,3,4,5", ",");
select * from t;