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

MySQL में सूची स्ट्रिंग से एकल आइटम प्राप्त करें

इसके लिए कोई मूल कार्य नहीं है। आप दो SUBSTRING_INDEX फ़ंक्शन का उपयोग कर सकते हैं। और आपको यह जांचना होगा कि क्या वह विशिष्ट अनुक्रमणिका आइटम मौजूद है:

SET @string:='1,2,3,4,5';
SET @delimiter:=',';
SET @n:=6;

SELECT
  CASE WHEN
    CHAR_LENGTH(@string)-CHAR_LENGTH(REPLACE(@string, @delimiter, ''))>=
    @n*CHAR_LENGTH(@delimiter)-1
  THEN
    SUBSTRING_INDEX(SUBSTRING_INDEX(@string, @delimiter, @n), @delimiter, -1)
  END;
  • SUBSTRING_INDEX(@string, @delimiter, @n) स्ट्रिंग से सबस्ट्रिंग लौटाता है @string @n . से पहले @delimiter . की घटनाएं ।
  • SUBSTRING_INDEX( ... , @delimiter, -1) अंतिम सीमांकक के दाईं ओर सब कुछ लौटाता है
  • आपको जांचना होगा कि क्या सीमांकक @n मौजूद। हम स्ट्रिंग की लंबाई को सीमांकक से घटा सकते हैं, और स्ट्रिंग को सीमांकक के साथ हटा सकते हैं - REPLACE(@string, @delimiter, '') का उपयोग करके - और देखें कि क्या यह @n*CHAR_LENGTH(@delimiter)-1 से बड़ा है


  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. C . के साथ MySQL डेटाबेस में क्लाइंट इनपुट डालें

  3. PHP - MySQL डेटा से नेस्टेड सरणी बनाएं

  4. FIND_IN_SET दो तारों के साथ

  5. किन उपयोगकर्ताओं ने किन लिंक्स पर क्लिक किया है, इस पर नज़र रखने के लिए एक डेटाबेस स्थापित करना?