Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Tách giá trị mysql thành số phần không xác định

Một tùy chọn mà tôi đề xuất là sử dụng common_schema và cụ thể là các chức năng get_num_tokens () split_token () , điều này sẽ hữu ích.

Dưới đây là một ví dụ đơn giản về việc sử dụng mà bạn có thể điều chỉnh cho giải pháp của mình:

/* 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. truy cập bị từ chối đối với tải dữ liệu trong tệp trong MySQL

  2. Có tùy chọn / tính năng MySQL để theo dõi lịch sử các thay đổi đối với bản ghi không?

  3. Cách hoạt động của hàm RTRIM () trong MySQL

  4. Tại sao Magento không thể cứu khách hàng sau khi tạo ID?

  5. MySQL Chèn lệnh so với Cú pháp truy vấn T-SQL với các ví dụ