Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

क्या mySql में स्प्लिट () विधि के समान कुछ है?

दुर्भाग्य से, mysql फ़ंक्शन को सरणियों या तालिकाओं (जो मुझे पता है) को वापस करने की अनुमति नहीं देता है, इसलिए आपको इसे थोड़ा हैकली करना होगा।

यहाँ एक नमूना संग्रहित खरीद है:

DELIMITER $$

create function splitter_count (str varchar(200), delim char(1)) returns int
  return (length(replace(str, delim, concat(delim, ' ')))  - length(str)) $$

CREATE PROCEDURE tokenize (str varchar(200), delim char(1))
BEGIN
  DECLARE i INT DEFAULT 0;
  create table tokens(val varchar(50));
  WHILE i <= splitter_count(str, delim) DO
    insert into tokens(val) select(substring_index(SUBSTRING_INDEX(str, delim, i+1), delim, -1));
    SET i = i + 1;
  END WHILE;

END $$

DELIMITER ;

यह आपकी स्ट्रिंग को टोकननाइज़ करेगा, और मानों को "टोकन" नामक तालिका में सम्मिलित करेगा, प्रति पंक्ति एक टोकन। आप इसे आसानी से उपयोगी कुछ करने के लिए इसे संशोधित करने में सक्षम होना चाहिए। साथ ही, आप इनपुट लंबाई को 200 से बढ़ाना चाह सकते हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. PHP/MySQL का उपयोग करके CSV डेटा आयात करना

  2. चेतावनी:इस पृष्ठ पर एक प्रपत्र में 1000 से अधिक फ़ील्ड हैं PHP MySql

  3. MyBatis और MySql का उपयोग करके प्रोग्रामेटिक रूप से तालिका बनाना

  4. फ़ंक्शन बनाने पर सिंटैक्स त्रुटि प्राप्त करना

  5. पासवर्ड के बिना xampp में mysql से कनेक्ट करना