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

कैसे नहीं RLIKE MySQL में काम करता है

MySQL में, NOT RLIKE RLIKE . का निषेध है ऑपरेटर।

दूसरे शब्दों में, किसी भी समय RLIKE ऑपरेटर 1 लौटाएगा , NOT RLIKE लौटाएगा 0 .

सिंटैक्स

वाक्य रचना इस प्रकार है:

expr NOT RLIKE pat

जहां expr इनपुट स्ट्रिंग है और pat नियमित अभिव्यक्ति है जिसके लिए आप स्ट्रिंग का परीक्षण कर रहे हैं।

यह निम्न कार्य करने के बराबर है:

NOT (expr RLIKE pat)

उदाहरण 1 - मूल उपयोग

इसे SELECT . में इस्तेमाल करने का एक उदाहरण यहां दिया गया है कथन:

SELECT 'Coffee' NOT RLIKE '^C.*e$' AS 'Result';

परिणाम:

+--------+
| Result |
+--------+
|      0 |
+--------+

यहां, यदि इनपुट स्ट्रिंग C . से शुरू होती है, तो पैटर्न का मिलान किया जाता है और e . के साथ समाप्त होता है . यह करता है, लेकिन क्योंकि हम NOT RLIKE . का उपयोग करते हैं , हमें एक नकारात्मक परिणाम मिलता है (0 )।

उपरोक्त कथन ऐसा करने के बराबर है:

SELECT NOT ('Coffee' RLIKE '^C.*e$') AS 'Result';

परिणाम:

+--------+
| Result |
+--------+
|      0 |
+--------+

उदाहरण 2 - RLIKE की तुलना में

यहां हम RLIKE . से परिणामों की तुलना करते हैं NOT RLIKE के साथ :

SELECT 
  'Coffee' RLIKE '^C.*e$' AS 'RLIKE',
  'Coffee' NOT RLIKE '^C.*e$' AS 'NOT RLIKE';

परिणाम:

+-------+-----------+
| RLIKE | NOT RLIKE |
+-------+-----------+
|     1 |         0 |
+-------+-----------+

उदाहरण 3 - एक सकारात्मक परिणाम

पिछले उदाहरणों के परिणामस्वरूप 0 के लिए NOT RLIKE , क्योंकि स्ट्रिंग किया वास्तव में पैटर्न से मेल खाते हैं। यहां एक उदाहरण दिया गया है जहां हमें 1 मिलता है , जो इंगित करता है कि स्ट्रिंग नहीं मैच:

SELECT 
  'Funny' RLIKE '^C.*e$' AS 'RLIKE',
  'Funny' NOT RLIKE '^C.*e$' AS 'NOT RLIKE';

परिणाम:

+-------+-----------+
| RLIKE | NOT RLIKE |
+-------+-----------+
|     0 |         1 |
+-------+-----------+

विकल्प

MySQL में कई फ़ंक्शन और ऑपरेटर शामिल हैं जो अनिवार्य रूप से एक ही काम करते हैं, और यह NOT RLIKE पर भी लागू होता है। .

सबसे पहले, RLIKE REGEXP_LIKE() . का समानार्थी है फ़ंक्शन (जैसा है REGEXP )

दूसरे, NOT RLIKE NOT REGEXP . के बराबर है .

तीसरा, RLIKE , REGEXP , और REGEXP_LIKE() केवल NOT . का उपयोग करके नकारा जा सकता है तार्किक संचालिका।

इसलिए, निम्नलिखित सभी समतुल्य हैं:

expr NOT RLIKE pat
expr NOT REGEXP pat
NOT (expr RLIKE pat)
NOT (expr REGEXP pat)
NOT REGEXP_LIKE(expr, pat)

और यहां प्रदर्शित करने के लिए एक उदाहरण दिया गया है:

SELECT 
  'Car' NOT RLIKE '^C' AS 'Result 1',
  'Car' NOT REGEXP '^C' AS 'Result 2',
  NOT ('Car' RLIKE '^C') AS 'Result 3',
  NOT ('Car' REGEXP '^C') AS 'Result 4',
  NOT REGEXP_LIKE('Car', '^C') AS 'Result 5';

परिणाम:

+----------+----------+----------+----------+----------+
| Result 1 | Result 2 | Result 3 | Result 4 | Result 5 |
+----------+----------+----------+----------+----------+
|        0 |        0 |        0 |        0 |        0 |
+----------+----------+----------+----------+----------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैसकल लोकलहोस्ट!=127.0.0.1?

  2. पायथन फ्लास्क और MySQL का उपयोग करके स्क्रैच से एक वेब ऐप बनाना:भाग 2

  3. क्या MySQL में ट्री स्ट्रक्चर टेबल को एक ही क्वेरी में, किसी भी गहराई तक क्वेरी करना संभव है?

  4. अभी सेट करें () डेटाटाइम डेटाटाइप के लिए डिफ़ॉल्ट मान के रूप में?

  5. किसी टेबल/टेबल पर विदेशी कुंजियों की दोबारा जांच करने के लिए InnoDB को बाध्य करें?