Mysql
 sql >> база данни >  >> RDS >> Mysql

Разделяне на стойността на mysql на неизвестен брой части

Една опция, която препоръчвам, е да използвате common_schema и по-специално функции get_num_tokens() и split_token() , това ще помогне.

Ето един прост пример за употреба, която можете да адаптирате за вашето решение:

/* CODE FOR DEMONSTRATION PURPOSES */

/* Need to install common_schema - code.google.com/p/common-schema/ */ 

/* Procedure structure for procedure `explode1` */     

/*!50003 DROP PROCEDURE IF EXISTS  `explode1` */;

DELIMITER $$

CREATE PROCEDURE `explode1`(str varchar(65500), delim VARCHAR(255))
BEGIN
    DECLARE _iteration, _num_tokens INT UNSIGNED DEFAULT 0;
    DROP TEMPORARY TABLE IF EXISTS `temp_explode`;
    CREATE TEMPORARY TABLE `temp_explode` (`id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `word` VARCHAR(200), PRIMARY KEY (`id`));
    SET _num_tokens := (SELECT `common_schema`.`get_num_tokens`(str, delim));
    WHILE _iteration < _num_tokens DO
        SET _iteration := _iteration + 1;
        INSERT INTO `temp_explode` (`word`) SELECT `common_schema`.`split_token`(str, delim, _iteration);
    END WHILE;
    SELECT `id`, `word` FROM `temp_explode`;
    DROP TEMPORARY TABLE IF EXISTS `temp_explode`;
END $$

DELIMITER ;

/* TEST */
CALL `explode1`('Lorem Ipsum is simply dummy text of the printing and typesetting', CHAR(32));



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. #1115 - Неизвестен набор от знаци:'utf8mb4'

  2. Как бързо да ИЗБЕРЕТЕ 3 произволни записа от 30k MySQL таблица с филтър where по една заявка?

  3. Как да изградим flask приложение около вече съществуваща база данни?

  4. Как да използвате ядрото на AspNet.Identity в My Sql база данни

  5. Django:Използване на персонализирани необработени SQL вмъквания с executemany и MySQL