किसी दिए गए स्ट्रिंग में अंतिम सबस्ट्रिंग की अनुक्रमणिका प्राप्त करने के लिए, char_length() फ़ंक्शन का उपयोग करें। सबसे पहले, हमें स्ट्रिंग लंबाई की गणना करने और पूरी लंबाई से अंतिम उप स्ट्रिंग लंबाई घटाने की आवश्यकता है। लंबाई में अंतर सबस्ट्रिंग की अनुक्रमणिका है।
सिंटैक्स
वाक्यविन्यास इस प्रकार है -
CHAR_LENGTH(yourColumnName) का चयन करें - LOCATE('yourDelimiter',REVERSE(yourColumnName))+1 as anyVariableName from yourTableName;
उपरोक्त सिंटैक्स को समझने के लिए, आइए पहले एक टेबल बनाएं। तालिका बनाने की क्वेरी इस प्रकार है -
mysql> टेबल बनाएं SubStringIndexDemo -> ( -> Words varchar(200) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.57 सेकंड)
इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -
mysql> SubStringIndexDemo मानों में डालें ('यह MySQL क्वेरी है'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड) mysql> SubStringIndexDemo मानों में डालें ('MySQL एक रिलेशनल डेटाबेस है'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.34 सेकंड) mysql> SubStringIndexDemo मानों में डालें ('जावा एक प्रोग्रामिंग भाषा है'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) mysql> SubStringIndexDemo मानों में डालें ('स्प्रिंग एक फ्रेमवर्क है'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.20 सेकंड)
चयन कमांड का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> SubStringIndexDemo से *चुनें;
आउटपुट
<पूर्व>+--------------------------------+| शब्द |+--------------------------------+| यह MySQL क्वेरी है || MySQL एक रिलेशनल डेटाबेस है || जावा एक प्रोग्रामिंग भाषा है || स्प्रिंग एक फ्रेमवर्क है |+--------------------------------+4 पंक्तियों में सेट (0.00 सेकंड)यहां वह क्वेरी है जिसका उपयोग अंतिम सबस्ट्रिंग की अनुक्रमणिका प्राप्त करने के लिए किया जा सकता है ::
mysql> CHAR_LENGTH(Words) चुनें - LOCATE('', REVERSE(Words))+1 asPositionOfLastSubstring -> SubStringIndexDemo से;