SQLite में, substring()
substr()
. के लिए एक उपनाम है .
यह स्ट्रिंग के भीतर दिए गए प्रारंभिक स्थान के आधार पर एक स्ट्रिंग से एक सबस्ट्रिंग देता है। दो तर्कों की आवश्यकता है, और तीसरा वैकल्पिक तर्क स्वीकार किया जाता है।
substring()
नामकरण SQLite 3.34.0 में पेश किया गया था, जिसे 1 दिसंबर 2020 को जारी किया गया था। इसका कारण यह है कि substring()
सिंटैक्स को SQL सर्वर के साथ संगतता के लिए पेश किया गया था।
सिंटैक्स
तो अब आप निम्न में से किसी भी तरीके से फ़ंक्शन को कॉल कर सकते हैं:
substr(X,Y,Z)
substr(X,Y)
substring(X,Y,Z)
substring(X,Y)
X
वह पूर्ण स्ट्रिंग है जिसमें वह सबस्ट्रिंग शामिल है जिसे आप वापस करना चाहते हैं।Y
सबस्ट्रिंग के पहले अक्षर का स्थान है जिसे आप उस स्ट्रिंग से वापस करना चाहते हैं।Z
वर्णों की संख्या है जिसे आप वापस करना चाहते हैं। यदि छोड़ दिया जाता है, तो बाद के सभी वर्ण वापस आ जाते हैं (Y
. से प्रारंभ करते हुए) )।
अगर X
एक स्ट्रिंग है तो वर्ण सूचकांक वास्तविक यूटीएफ -8 वर्णों को संदर्भित करता है। अगर X
एक बीएलओबी है तो सूचकांक बाइट्स को संदर्भित करता है।
जैसा कि बताया गया है, substring()
सिंटैक्स केवल SQLite 3.34.0 से उपलब्ध है।
3 तर्कों के साथ उदाहरण
substring()
का उपयोग करने का तरीका दिखाने के लिए यहां एक बुनियादी उदाहरण दिया गया है तीन तर्कों के साथ।
SELECT substring('Dolemite', 3, 4);
परिणाम:
lemi
2 तर्कों के साथ उदाहरण
अगर मैं पिछले उदाहरण से तीसरे तर्क को छोड़ देता हूं तो मुझे निम्नलिखित परिणाम मिलते हैं।
SELECT substring('Dolemite', 3);
परिणाम:
lemite
नकारात्मक प्रारंभिक बिंदु
आप दूसरे तर्क के लिए ऋणात्मक मान प्रदान कर सकते हैं। जब आप ऐसा करते हैं, तो सबस्ट्रिंग का पहला अक्षर बाएँ के बजाय दाएँ से गिनकर पाया जाता है।
SELECT substring('Dolemite', -3);
परिणाम:
ite
यहाँ एक और उदाहरण है, इस बार मैं सबस्ट्रिंग की लंबाई निर्दिष्ट करता हूँ।
SELECT substring('Dolemite', -7, 4);
परिणाम:
olem
इसलिए नकारात्मक मानों का वही प्रभाव होता है जो substring()
. का उपयोग करते समय होता है MySQL में फ़ंक्शन। MySQL में एक substr()
भी है फ़ंक्शन, जो इसके substring()
. का पर्याय है समारोह।
हालाँकि, यह भिन्न है कि SQL सर्वर नकारात्मक मानों के साथ कैसे व्यवहार करता है। जब आप substring()
. पर नेगेटिव मान पास करते हैं SQL सर्वर में, यह स्ट्रिंग शुरू होने से पहले बस एक काल्पनिक बिंदु पर गिनना शुरू कर देगा।
नकारात्मक सबस्ट्रिंग लंबाई
पिछले उदाहरण में एक नकारात्मक प्रारंभिक बिंदु का उपयोग किया गया था। इस उदाहरण में, मैं ऋणात्मक लंबाई का उपयोग करने जा रहा हूं। इससे मेरा मतलब है कि मैं तीसरे तर्क के लिए एक ऋणात्मक मान प्रदान करने जा रहा हूँ।
SELECT substring('Dolemite', -1, -4);
परिणाम:
emit
इसलिए तीसरे तर्क के लिए ऋणात्मक मान प्रदान करने से शुरुआती बिंदु से पहले के वर्ण वापस आ जाते हैं।
यह तब भी लागू होता है जब दूसरा तर्क सकारात्मक मान होता है।
SELECT substring('Dolemite', 6, -4);
परिणाम:
olem
डेटाबेस उदाहरण
यहां एक उदाहरण दिया गया है जो substring()
. का उपयोग करता है चिनूक नमूना डेटाबेस के विरुद्ध डेटाबेस क्वेरी में।
SELECT
substring(Name, 1, 10),
Name
FROM Artist
ORDER BY Name DESC
LIMIT 10;
परिणाम:
substring(Name, 1, 10) Name ---------------------- --------------------------------- Zeca Pagod Zeca Pagodinho Youssou N' Youssou N'Dour Yo-Yo Ma Yo-Yo Ma Yehudi Men Yehudi Menuhin Xis Xis Wilhelm Ke Wilhelm Kempff Whitesnake Whitesnake Vinícius E Vinícius E Qurteto Em Cy Vinícius E Vinícius E Odette Lara Vinícius D Vinícius De Moraes & Baden Powell
इस मामले में, मैंने Name
. से पहले दस अक्षर लौटाए हैं कॉलम। मैंने Name
. की पूरी सामग्री भी लौटा दी है परिणामों की तुलना करने के लिए कॉलम।