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

MySQL में POSITION () फ़ंक्शन कैसे काम करता है

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() . का भी उपयोग कर सकते हैं फ़ंक्शन, जो आपको अपनी खोज के लिए प्रारंभिक स्थिति निर्धारित करने की अनुमति देता है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैं एक MySQL तालिका में कई पंक्तियों को कैसे सम्मिलित कर सकता हूं और नई आईडी वापस कर सकता हूं?

  2. किसी अन्य तालिका से मूल्य के साथ mysql अद्यतन स्तंभ

  3. SQL IN () क्लॉज में मानों के क्रम से आदेश देना

  4. MySQL:अल्पविराम से अलग की गई एकल पंक्ति के रूप में एकाधिक पंक्ति

  5. MYSQL तालिका में नया कॉलम कैसे जोड़ें?