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. SELECT और WHERE क्लॉज में संग्रहीत फ़ंक्शन कॉल को ऑप्टिमाइज़ करना

  2. MySQL डेटाबेस में विशेष वर्णों को सहेजना

  3. किसी फ़ील्ड से पहला शब्द निकालने के लिए MySQL क्वेरी

  4. SQL कथन में चर नाम का उपयोग कैसे करें?

  5. क्या आप क्वेरी में नहीं के लिए एकाधिक कॉलम का उपयोग कर सकते हैं?