我正在编写一个MySql脚本,用多个单词打破一个字符串字段。
我需要类似PHP中的爆炸功能!
我尝试使用mysql substring_index函数,但我必须预先指定一个子字符串的出现次数。这在一万个10.000行表中是不可预测的。
任何消化?
这是我的实际存储过程:
**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 :(得分: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;
...