sql >> データベース >  >> RDS >> Mysql

mysql値を不明な数の部分に分割する

    私がお勧めするオプションの1つは、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. タグ(キーワード)をデータベースに保存する方法は?

    2. SQL標準委員会のPostgreSQLエージェント

    3. SSISのマージ結合変換とルックアップ変換の違いは何ですか?

    4. JSON_UNQUOTE()–MySQLのJSONドキュメントから引用符を削除します