MySql字段子字符串

时间:2009-08-20 15:21:06

标签: sql mysql

我正在编写一个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

1 个答案:

答案 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;
...