MySql Подстроки Поля

0

Я делаю один MySql script, который разбивает одно поле строки несколькими словами.

Мне нужно что-то вроде функции explode в PHP!

Я пытаюсь использовать функцию substring_index mysql, но мне нужно выяснить количество вхождений одной подстроки. И это не предсказуемо в одной таблице 10.000 строк.

Любое sugestion?

Это моя фактическая сохраненная процедура:

**CREATE PROCEDURE `extract_words` ()
BEGIN
DECLARE done INT DEFAULT 0;
DECLARE result_row CHAR(100);
DECLARE cursor_1 CURSOR FOR SELECT description FROM db_movies;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;


OPEN cursor_1;


REPEAT
  FETCH cursor_1 INTO result_row;
  IF NOT done THEN
    INSERT INTO extrator_words (word) VALUES (result_row);
  END IF;
UNTIL done END REPEAT;


CLOSE cursor_1;

END $$**

Спасибо,
Педро
@pcamacho

  • 0
    Я сомневаюсь, что это решение вашей актуальной проблемы. Что вы пытаетесь достичь в первую очередь?
  • 0
    Я хочу создать одну таблицу со всеми словами в поле описания, сгенерировать некоторые SEO-отчеты, но я пытаюсь сделать все это в базе данных, без использования скриптов и с минимально возможным количеством запросов
Теги:

1 ответ

1
Лучший ответ
...
SET @currText = textToExpolde;
SET @sepLen   = LENGTH( separator );

WHILE @currText != '' DO

  SET @word     = SUBSTRING_INDEX(@currText, separator, 1);
  SET @currText = SUBSTRING(@currText, LENGTH(@word) + 1 + @sepLen);

  INSERT INTO extractor_words SET word = @word;

END WHILE;
...
  • 0
    Спасибо но! Как вы обновляете @currTail?
  • 0
    Извините, это была опечатка, это также должно быть currText (исправлено) =)
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню