SQLite में, आप instr()
. का उपयोग कर सकते हैं एक स्ट्रिंग के भीतर दिए गए वर्ण की स्थिति वापस करने के लिए कार्य करता है।
फ़ंक्शन केवल चरित्र की पहली घटना (यदि कोई हो) की स्थिति देता है।
यदि वर्ण नहीं मिलता है, तो वह 0 लौटाता है।
यदि दोनों में से कोई भी तर्क NULL है, तो यह NULL देता है।
यह कैसे काम करता है
instr()
फ़ंक्शन दो तर्क स्वीकार करता है। पहला तर्क स्ट्रिंग है, और दूसरा तर्क वह वर्ण है जिसे आप उस स्ट्रिंग के भीतर खोजना चाहते हैं।
यदि तर्क दोनों बीएलओबी हैं, तो यह दूसरे तर्क की पहली घटना से पहले संख्या बाइट्स से एक अधिक देता है, या 0 यदि यह पहले तर्क के भीतर कहीं भी नहीं होता है।
वाक्य रचना इस प्रकार है:
inst(X,Y)
X
स्ट्रिंग हैY
चरित्र है
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है।
SELECT instr('Black cat', 'a');
परिणाम:
3
यहाँ, मुझे a letter अक्षर का स्थान चाहिए था .
इस मामले में पत्र दो बार प्रकट होता है, और instr()
पहली घटना का स्थान लौटाता है।
एक डेटाबेस उदाहरण
इस उदाहरण में, मैं निम्न तालिका का उपयोग करने जा रहा हूँ:
ProductId ProductName Price ---------- ------------- ---------- 1 Widget Holder 139.5 2 Blue Widget 10.0 3 Red Widget 10.0 4 Green Widget 10.0 5 Widget Stick 89.75 6 Foo Cap 11.99
मैं उत्पाद का नाम खोजने जा रहा हूं एक पत्र के लिए कॉलम।
SELECT
ProductName,
instr(ProductName, 'd')
FROM Products;
परिणाम:
ProductName instr(ProductName, 'd') ------------- ----------------------- Widget Holder 3 Blue Widget 8 Red Widget 3 Green Widget 9 Widget Stick 3 Foo Cap 0
ध्यान दें कि अंतिम पंक्ति में अक्षर नहीं था और इसलिए 0 उस पंक्ति के लिए लौटा दिया गया था।
शून्य मान
जैसा कि उल्लेख किया गया है, यदि कोई तर्क NULL है, तो NULL वापस आ जाता है।
SELECT
instr(NULL, 'a'),
instr('Black cat', NULL);
परिणाम:
instr(NULL, 'a') instr('Black cat', NULL) ---------------- ------------------------