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

SQLite सबस्ट्रिंग () समझाया गया

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 . की पूरी सामग्री भी लौटा दी है परिणामों की तुलना करने के लिए कॉलम।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Android - GCM का उपयोग करके क्लाइंट के sqlite डेटाबेस को अपडेट करें

  2. java.lang.IllegalStateException:CursorWindow से पंक्ति 0, col -1 नहीं पढ़ सका - Android sqlite समस्या

  3. मुझे कर्सर और डीबी कब बंद करना चाहिए?

  4. SQLiteDatabase एंड्रॉइड IllegalStateException

  5. एंड्रॉइड में स्क्लाइट में पंक्ति अपडेट नहीं कर सकता लेकिन कोई त्रुटि नहीं फेंक रहा है