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

INSTR () SQL सर्वर में समतुल्य

कई RDBMS में एक INSTR() होता है फ़ंक्शन जो हमें एक स्ट्रिंग के भीतर एक सबस्ट्रिंग खोजने में सक्षम बनाता है। कुछ (जैसे MySQL और MariaDB) में एक LOCATE() भी होता है फ़ंक्शन और एक POSITION() फ़ंक्शन (पोस्टग्रेएसक्यूएल द्वारा समर्थित), जो एक समान काम करते हैं।

SQL सर्वर में INSTR() नहीं है समारोह। न ही इसमें LOCATE() है या POSITION() समारोह। लेकिन इसमें CHARINDEX() जरूर है फ़ंक्शन जो समान कार्य करता है।

SQL सर्वर में PATINDEX() भी होता है फ़ंक्शन, जो CHARINDEX() . के समान कार्य करता है ।

CHARINDEX() समारोह

यहां CHARINDEX() का एक उदाहरण दिया गया है समारोह:

SELECT CHARINDEX('news', 'No news is good news');

परिणाम:

4

फ़ंक्शन तीसरे तर्क को स्वीकार करता है जो हमें यह निर्दिष्ट करने की अनुमति देता है कि खोज कहां से शुरू करें:

SELECT CHARINDEX('news', 'No news is good news', 5);

परिणाम:

17

इस उदाहरण में, हमने स्थिति 5 पर खोज शुरू की, जो कि news की पहली घटना की शुरुआत के बाद थी। , इसलिए इसने दूसरी घटना की स्थिति लौटा दी।

PATINDEX() समारोह

PATINDEX() फ़ंक्शन CHARINDEX() . के समान है , सिवाय इसके कि यह हमें एक विशिष्ट स्ट्रिंग के बजाय एक पैटर्न की खोज करने की अनुमति देता है।

मेरा मतलब समझाने के लिए यहां एक उदाहरण दिया गया है:

SELECT PATINDEX('%ew%', 'No news is good news');

परिणाम:

5

अगर मैं वाइल्डकार्ड वर्ण हटा दूं तो क्या होगा:

SELECT PATINDEX('ew', 'No news is good news');

परिणाम:

0

देखें PATINDEX() बनाम CHARINDEX() इन दो कार्यों के बीच अंतर के बारे में अधिक जानकारी के लिए।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक डेटाबेस मेल खाता बनाएँ (SSMS)

  2. अस्थायी तालिका से फ़ील्ड नाम कैसे प्राप्त करें (SQL Server 2008)

  3. SQL सर्वर (T-SQL) में HEX को INT में बदलने के 3 तरीके

  4. ORDER BY क्लॉज विचारों, इनलाइन कार्यों, व्युत्पन्न तालिकाओं, उपश्रेणियों और सामान्य तालिका अभिव्यक्तियों में अमान्य है

  5. एसक्यूएल सर्वर ट्रिगर नई पंक्ति से दूसरी तालिका में मूल्यों को सम्मिलित करता है