Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में LIKE और NOT LIKE ऑपरेटर का उपयोग करके पैटर्न मिलान करना

MySQL में LIKE और NOT LIKE ऑपरेटर का उपयोग करके पैटर्न आधारित खोज करें, NULL मानों को भी संभालते हुए।

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    -> CollegeCode VARCHAR(100)
    -> );
Query OK, 0 rows affected (0.53 sec)
mysql> INSERT INTO DemoTable VALUES
    -> ('Col.1995.01.21'), ('Col.2016.11.22'), (NULL),
    -> ('Col.2018.12.01'), ('Col.2019.03.12');

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट

+----------------+
| CollegeCode    |
+----------------+
| Col.1995.01.21 |
| Col.2016.11.22 |
| NULL           |
| Col.2018.12.01 |
| Col.2019.03.12 |
+----------------+
5 rows in set (0.00 sec)

LIKE क्वेरी - "Col" वाले रिकॉर्ड + NULL

mysql> SELECT * FROM DemoTable
    -> WHERE CollegeCode LIKE '%Col%' OR CollegeCode IS NULL;

आउटपुट

+----------------+
| CollegeCode    |
+----------------+
| Col.1995.01.21 |
| Col.2016.11.22 |
| NULL           |
| Col.2018.12.01 |
| Col.2019.03.12 |
+----------------+
5 rows in set (0.00 sec)

सभी 5 पंक्तियाँ मिलीं क्योंकि सभी में "Col" है या NULL है।

NOT LIKE क्वेरी - "College" न वाले रिकॉर्ड + NULL

mysql> SELECT * FROM DemoTable
    -> WHERE CollegeCode NOT LIKE '%College%' OR CollegeCode IS NULL;

आउटपुट

+----------------+
| CollegeCode    |
+----------------+
| Col.1995.01.21 |
| Col.2016.11.22 |
| NULL           |
| Col.2018.12.01 |
| Col.2019.03.12 |
+----------------+
5 rows in set (0.00 sec)

कोई भी रिकॉर्ड "College" नहीं रखता (सभी "Col." रखते हैं), इसलिए सभी 5 पंक्तियाँ मिलती हैं।

महत्वपूर्ण NULL व्यवहार:

  • NULL LIKE 'pattern' → NULL (न TRUE, न FALSE)
  • NULL NOT LIKE 'pattern' → NULL
  • WHERE क्लॉज में NULL को TRUE नहीं माना जाता, इसलिए पंक्ति बाहर हो जाती है
  • इसलिए OR column IS NULL स्पष्ट रूप से जोड़ना आवश्यक है

वाइल्डकार्ड: % (कोई भी वर्ण अनुक्रम), _ (एकल वर्ण)।

  1. - MySQL में NOT NULL वैल्यू पहले और NULL वैल्यू बाद में कैसे दिखाएं?

    ORDER BY में IS NULL से NULL सॉर्टिंग कंट्रोल करना MySQL में किसी कॉलम के NOT NULL वैल्यू पहले और NULL वैल्यू बाद में दिखाने के लिए ORDER BY (Column IS NULL) एक्सप्रेशन का उपयोग करें। टेबल बनाना और डेटा इन्सर्ट करना CREATE TABLE DemoTable1357 ( StudentName VARCHAR(40), StudentCountryName VA

  1. - MySQL में तिथि के अनुसार परिणाम समूहित करना और डुप्लिकेट मानों की गिनती दिखाना

    तिथि और LIKE फ़िल्टर के साथ समूह गिनती DATE() फ़ंक्शन से केवल तिथि भाग निकालकर GROUP BY करें, और LIKE से पैटर्न मिलान करें। तालिका और डेटा (202, 2013-03-18 04:10:01); क्वेरी: 202 से शुरू होने वाले कोड की तिथिवार गिनती GROUP BY DATE(ArrivalDate); परिणाम +-------------------+-------------------

  1. - MySQL में NULL और NOT NULL रिकॉर्ड वाले कॉलम से केवल NOT NULL मान प्रदर्शित करें

    इसके लिए आप IS NOT NULL प्रॉपर्टी का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1 ( DueDate date ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1 values(2019-09-10); Query OK, 1 r