MySQL में, POSITION()
फ़ंक्शन स्ट्रिंग के भीतर एक सबस्ट्रिंग की पहली घटना की स्थिति देता है।
यह फ़ंक्शन वास्तव में LOCATE()
. का पर्याय है , लेकिन थोड़ा अलग सिंटैक्स के साथ। LOCATE()
फ़ंक्शन में अतिरिक्त कार्यक्षमता भी है, जिसमें यह आपको अपनी खोज के लिए एक प्रारंभिक स्थिति परिभाषित करने की अनुमति देता है।
सिंटैक्स
मूल वाक्य रचना इस प्रकार है:
POSITION(substr IN str)
जहां substr
सबस्ट्रिंग है और str
स्ट्रिंग है।
उदाहरण 1 - मूल उपयोग
SELECT POSITION('Cat' IN 'The Cat') Result;
परिणाम:
+--------+ | Result | +--------+ | 5 | +--------+
उदाहरण 2 - केस संवेदनशीलता
POSITION()
फ़ंक्शन मल्टीबाइट सुरक्षित है, और केवल केस-संवेदी है यदि कम से कम एक तर्क बाइनरी स्ट्रिंग है।
तो निम्न उदाहरण केस-असंवेदनशील है:
SELECT POSITION('Cat' IN 'The Cat') Result;
परिणाम:
+--------+ | Result | +--------+ | 5 | +--------+
उदाहरण 3 - कोई मिलान नहीं
फ़ंक्शन 0
लौटाता है अगर स्ट्रिंग में सबस्ट्रिंग नहीं मिलती है:
SELECT POSITION('Dog' IN 'The cat') Result;
परिणाम:
+--------+ | Result | +--------+ | 0 | +--------+
उदाहरण 4 - एंबेडेड सबस्ट्रिंग
सबस्ट्रिंग चुनते समय सावधान रहें। अगर यह किसी दूसरे शब्द का हिस्सा है, तो आपको झूठी सकारात्मक जानकारी मिल सकती है:
SELECT POSITION('Cat' IN 'Good Catch!') Result;
परिणाम:
+--------+ | Result | +--------+ | 6 | +--------+
अगर आप केवल बिल्ली . की तलाश में हैं , जानवर, यह एक गलत सकारात्मक होगा।
उदाहरण 5 - केवल पहली घटना
याद रखें, यह फ़ंक्शन केवल पहले . की स्थिति लौटाता है सबस्ट्रिंग की घटना। बाद में होने वाली किसी भी घटना को नज़रअंदाज़ कर दिया जाता है:
SELECT POSITION('Cat' IN 'My cat is bigger than your cat') Result;
परिणाम:
+--------+ | Result | +--------+ | 4 | +--------+
उदाहरण 6 - पूर्ण तर्क
यदि कोई तर्क NULL
है , परिणाम NULL
. है :
SELECT POSITION('Cat' IN NULL) 'Result 1', POSITION(NULL IN 'The Cat') 'Result 2';
परिणाम:
+----------+----------+ | Result 1 | Result 2 | +----------+----------+ | NULL | NULL | +----------+----------+
जैसा कि बताया गया है, आप LOCATE()
. का भी उपयोग कर सकते हैं फ़ंक्शन, जो आपको अपनी खोज के लिए प्रारंभिक स्थिति निर्धारित करने की अनुमति देता है।