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

मान को एक फ़ील्ड से दो में विभाजित करें

दुर्भाग्य से MySQL में स्प्लिट स्ट्रिंग फ़ंक्शन की सुविधा नहीं है। हालांकि आप एक उपयोगकर्ता परिभाषित फ़ंक्शन बना सकते हैं इसके लिए, जैसा कि निम्नलिखित लेख में वर्णित है:

उस समारोह के साथ:

DELIMITER $$

CREATE FUNCTION SPLIT_STR(
  x VARCHAR(255),
  delim VARCHAR(12),
  pos INT
)
RETURNS VARCHAR(255) DETERMINISTIC
BEGIN 
    RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
       LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
       delim, '');
END$$

DELIMITER ;

आप अपनी क्वेरी इस प्रकार बना पाएंगे:

SELECT SPLIT_STR(membername, ' ', 1) as memberfirst,
       SPLIT_STR(membername, ' ', 2) as memberlast
FROM   users;

यदि आप उपयोगकर्ता परिभाषित फ़ंक्शन का उपयोग नहीं करना पसंद करते हैं और आप क्वेरी को थोड़ा अधिक वर्बोज़ मानने से गुरेज नहीं करते हैं, तो आप निम्न कार्य भी कर सकते हैं:

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(membername, ' ', 1), ' ', -1) as memberfirst,
       SUBSTRING_INDEX(SUBSTRING_INDEX(membername, ' ', 2), ' ', -1) as memberlast
FROM   users;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मल्टी-क्लाउड डेटाबेस में MySQL स्प्लिट-ब्रेन को खत्म करना

  2. पीडीओ का उपयोग करके MySQL से संख्यात्मक प्रकार कैसे प्राप्त करें?

  3. LIKE '%{$var}%' को तैयार कथनों के साथ प्रयोग करने का सही तरीका? [माइस्क्ली]

  4. मैं कैसे बता सकता हूं कि एक MySQL तालिका को अंतिम बार कब अपडेट किया गया था?

  5. डायनेमिक कॉलम के साथ MySQL पिवट टेबल क्वेरी