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

मारियाडीबी में एक निश्चित चरित्र से पहले या बाद में सब कुछ चुनें

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

यह फ़ंक्शन तीन तर्क स्वीकार करता है; स्ट्रिंग, सीमांकक, और उस सीमांकक की घटनाओं की संख्या का उपयोग करने के लिए सबस्ट्रिंग को वापस करने के लिए निर्धारित करने के लिए उपयोग किया जाता है।

उदाहरण

हम निम्नलिखित उदाहरणों में देख सकते हैं कि फ़ंक्शन कैसे काम करता है।

पहले सब कुछ चुनें

एक निश्चित चरित्र से पहले सब कुछ चुनने के लिए, तीसरे तर्क को सकारात्मक मान बनाएं:

SELECT SUBSTRING_INDEX('Red,Green,Blue', ',', 2);

परिणाम:

Red,Green

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

मैंने उस उदाहरण में अल्पविराम का उपयोग किया था, लेकिन यह कोई भी वर्ण या स्ट्रिंग हो सकता था:

SELECT SUBSTRING_INDEX('Red or Green or Blue', ' or ', 2);

परिणाम:

Red or Green

बाद में सब कुछ चुनें

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

SELECT SUBSTRING_INDEX('Red,Green,Blue', ',', -2);

परिणाम:

Green,Blue

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

जब सीमांकक नहीं मिला

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

उदाहरण:

SELECT SUBSTRING_INDEX('Red,Green,Blue', '-', 1);

परिणाम:

Red,Green,Blue

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

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

उदाहरण:

SELECT SUBSTRING_INDEX('Red,Green,Blue', ',', 10);

परिणाम:

Red,Green,Blue

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

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

गलत मामला

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

SELECT SUBSTRING_INDEX('Red and green and blue', 'AND', 2);

परिणाम:

Red and green and blue

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

सही मामला

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

SELECT SUBSTRING_INDEX('Red and green and blue', 'and', 2);

परिणाम:

Red and green

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी में TIMESTAMPDIFF () कैसे काम करता है

  2. कैसे रिवर्स () मारियाडीबी में काम करता है

  3. मारियाडीबी LAST_INSERT_ID () समझाया गया

  4. मारियाडीबी आपके नजदीकी शहर में आ रहा है!

  5. मारियाडीबी के लिए स्टोरेज इंजन विकल्प तलाशना