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

मारियाडीबी FIELD () बनाम FIND_IN_SET ():क्या अंतर है?

मारियाडीबी में दो समान कार्य हैं FIELD() और FIND_IN_SET() . पहली नज़र में, ये वही काम करते प्रतीत होते हैं, लेकिन एक अंतर है।

यह लेख इन दो कार्यों के बीच अंतर को देखता है।

वाक्यविन्यास और परिभाषाएं

सबसे पहले, आइए प्रत्येक फ़ंक्शन के सिंटैक्स और परिभाषा को देखें:

<थ>वाक्यविन्यास <थ>परिभाषा
कार्य
FIELD() FIELD(pattern, str1[,str2,...]) दिए गए पैटर्न से मेल खाने वाली स्ट्रिंग या संख्या की अनुक्रमणिका स्थिति देता है।
FIND_IN_SET() FIND_IN_SET(pattern, strlist) सूचकांक स्थिति लौटाता है जहां एक स्ट्रिंग सूची में दिया गया पैटर्न होता है।

दोनों फ़ंक्शन एक pattern स्वीकार करते हैं उनके पहले तर्क के रूप में। हालाँकि, आगे जो आता है वह उनके मतभेदों को उजागर करता है:

  • FIELD() अल्पविराम द्वारा अलग किए गए एक या अधिक तार स्वीकार करता है।
  • FIND_IN_SET() एकल स्ट्रिंग सूची को स्वीकार करता है।

उदाहरण

यहां एक उदाहरण दिया गया है जो इन दो कार्यों के बीच अंतर को प्रदर्शित करता है:

SELECT 
    FIELD('bat', 'cat','dog','bat') AS "FIELD()",
    FIND_IN_SET('bat', 'cat,dog,bat') AS "FIND_IN_SET()";

परिणाम:

+---------+---------------+
| FIELD() | FIND_IN_SET() |
+---------+---------------+
|       3 |             3 |
+---------+---------------+

प्रत्येक फ़ंक्शन एक ही परिणाम देता है, लेकिन प्रत्येक फ़ंक्शन स्ट्रिंग को एक अलग प्रारूप में स्वीकार करता है।

FIELD() . को दिए गए मान तीन अलग-अलग तर्कों के रूप में आए, जबकि FIND_IN_SET() . को प्रदान किए गए मान एक स्ट्रिंग सूची के रूप में आया (जिसमें अलग-अलग मान थे)।


  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 और MariaDB में आकस्मिक डेटा विलोपन को कैसे दूर करें

  2. मारियाडीबी नेम्ड कमांड्स

  3. मारियाडीबी डेटाबेस सर्वर की स्थापना, सुरक्षित और प्रदर्शन ट्यूनिंग कैसे करें

  4. मारियाडीबी JSON_OBJECTAGG () समझाया गया

  5. डॉकर, जावा स्प्रिंग और जेडीबीसी का उपयोग करके मारियाडीबी के साथ शुरुआत करना