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

MySQL में किसी निश्चित वर्ण से पहले/बाद में सब कुछ कैसे चुनें - SUBSTRING_INDEX ()

आप MySQL SUBSTRING_INDEX() . का उपयोग कर सकते हैं एक स्ट्रिंग में एक निश्चित वर्ण (या वर्ण) से पहले या बाद में सब कुछ वापस करने के लिए कार्य करता है।

यह फ़ंक्शन आपको उपयोग करने के लिए सीमांकक निर्दिष्ट करने की अनुमति देता है, और आप निर्दिष्ट कर सकते हैं कि कौन सा (यदि स्ट्रिंग में एक से अधिक है)।

सिंटैक्स

यहाँ सिंटैक्स है:

SUBSTRING_INDEX(str,delim,count)

जहां str स्ट्रिंग है, delim सीमांकक है (जिससे आप बाईं या दाईं ओर एक विकल्प चाहते हैं), और count निर्दिष्ट करता है कि कौन सा सीमांकक है (यदि स्ट्रिंग में सीमांकक के कई बार होने की स्थिति में)।

ध्यान दें कि सीमांकक एकल वर्ण या एकाधिक वर्ण हो सकता है।

उदाहरण 1 - बाईं ओर सब कुछ चुनें

पहले . सब कुछ चुनने के लिए एक निश्चित वर्ण, सकारात्मक मान का उपयोग करें:

SELECT SUBSTRING_INDEX('Cats,Dogs,Rabbits', ',', 2);

परिणाम:

Cats,Dogs

इस उदाहरण में, हम दूसरे कॉमा से पहले सब कुछ चुनते हैं। यह अल्पविराम (, .) का उपयोग करके किया जाता है ) सीमांकक के रूप में, और 2 गिनती के रूप में।

उदाहरण 2 - दाईं ओर सब कुछ चुनें

सब कुछ चुनने के लिए बाद एक निश्चित चरित्र, आपको एक नकारात्मक मान का उपयोग करने की आवश्यकता है:

SELECT SUBSTRING_INDEX('Cats,Dogs,Rabbits', ',', -2);

परिणाम:

Dogs,Rabbits

ध्यान दें कि ऋणात्मक मान का अर्थ है कि यह दाईं ओर से गिना जाएगा, फिर सीमांकक के दाईं ओर के विकल्प का चयन करें।

क्या होगा यदि सीमांकक मेल नहीं खाता?

यदि स्ट्रिंग में सीमांकक नहीं मिलता है, तो स्ट्रिंग को पूर्ण रूप से वापस कर दिया जाता है।

उदाहरण:

SELECT SUBSTRING_INDEX('Cats,Dogs,Rabbits', '-', 1);

परिणाम:

Cats,Dogs,Rabbits

इस मामले में, पूरी स्ट्रिंग पूर्ण रूप से वापस कर दी जाती है क्योंकि हमने एक हाइफ़न (- . का उपयोग किया था ) सीमांकक के रूप में लेकिन स्ट्रिंग में कोई हाइफ़न नहीं थे।

अगर स्ट्रिंग करती है . तो हमें वही परिणाम मिलेगा सीमांकक होते हैं, लेकिन हमारी count स्ट्रिंग में सीमांकक की संख्या से अधिक है।

उदाहरण:

SELECT SUBSTRING_INDEX('Cats,Dogs,Rabbits', ',', 10);

परिणाम:

Cats,Dogs,Rabbits

केस-सेंसिटिविटी

SUBSTRING_INDEX() फ़ंक्शन सीमांकक के लिए केस-संवेदी खोज करता है। अर्थात्, सीमांकक का मिलान होने से पहले उसका सही मामला होना चाहिए।

गलत मामला

यहां एक उदाहरण दिया गया है जहां मामला मेल नहीं खाता:

SELECT SUBSTRING_INDEX('Cats and Dogs and Rabbits', 'AND', 2);

परिणाम:

Cats and Dogs and Rabbits

हमें पूरी स्ट्रिंग मिलती है।

सही मामला

अब यहाँ वही उदाहरण है, लेकिन जहाँ मामला मेल खाता है:

SELECT SUBSTRING_INDEX('Cats and Dogs and Rabbits', 'and', 2);

परिणाम:

Cats and Dogs


  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. COUNT(*) के आधार पर फ़िल्टर करें?

  3. कैसे mysql में डेटा पंक्तियों से नई पंक्ति वर्ण निकालने के लिए?

  4. संग्रहीत प्रक्रिया जो MYSQL में 7 दिनों से अधिक पुरानी पंक्तियों को स्वचालित रूप से हटा देती है

  5. PHP, MYSQLi और PDO में एकाधिक डेटाबेस कैसे कनेक्ट करें?