Вопрос по mysql – Есть ли что-то аналогичное методу split () в mySql?

2

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

Ваш Ответ

3   ответа
3

Error: User Rate Limit Exceeded

Error: User Rate Limit Exceeded

DELIMITER $$

create function splitter_count (str varchar(200), delim char(1)) returns int
  return (length(replace(str, delim, concat(delim, ' ')))  - length(str)) $$

CREATE PROCEDURE tokenize (str varchar(200), delim char(1))
BEGIN
  DECLARE i INT DEFAULT 0;
  create table tokens(val varchar(50));
  WHILE i <= splitter_count(str, delim) DO
    insert into tokens(val) select(substring_index(SUBSTRING_INDEX(str, delim, i+1), delim, -1));
    SET i = i + 1;
  END WHILE;

END $$

DELIMITER ;

Error: User Rate Limit Exceeded

2

SUBSTRING_INDEX(str,delim,count)

mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
        -> 'www.mysql'
mysql> SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
        -> 'mysql.com'

1

Похожие вопросы