चूंकि हमें उसी पंक्ति से स्ट्रिंग्स का मिलान करना है, LIKE ऑपरेटर का उपयोग करें।
आइए पहले एक टेबल बनाते हैं:
mysql> create table DemoTable (
FirstName varchar(100),
FullName varchar(100) );
Query OK, 0 rows affected (0.53 sec)
इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:
mysql> insert into DemoTable values('John','John Smith');
Query OK, 1 row affected (0.08 sec)
mysql> insert into DemoTable values('David','John Miller');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('Bob','Sam Miller');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable values('Chris','Chris Brown');
Query OK, 1 row affected (0.10 sec)
सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:
mysql> select * from DemoTable;
यह निम्नलिखिक आउटपुट देगा:
+-----------+-------------+ | FirstName | FullName | +-----------+-------------+ | John | John Smith | | David | John Miller | | Bob | Sam Miller | | Chris | Chris Brown | +-----------+-------------+ 4 rows in set (0.00 sec)
एक ही पंक्ति में स्ट्रिंग में मान (सबस्ट्रिंग) होने की जांच करने की क्वेरी
mysql> select FirstName, FullName from DemoTable where FullName LIKE concat('%', FirstName, '%');
यह निम्नलिखिक आउटपुट देगा:
+-----------+-------------+ | FirstName | FullName | +-----------+-------------+ | John | John Smith | | Chris | Chris Brown | +-----------+-------------+ 2 rows in set (0.00 sec)
व्याख्या
CONCAT('%', FirstName, '%')पैटर्न बनाता है: %John%, %David%, आदिLIKEपैटर्न मिलान करता है (वाइल्डकार्ड % किसी भी स्ट्रिंग से मेल खाता है)- पंक्ति 1: 'John Smith' LIKE '%John%' → सच
- पंक्ति 2: 'John Miller' LIKE '%David%' → झूठ
- पंक्ति 3: 'Sam Miller' LIKE '%Bob%' → झूठ
- पंक्ति 4: 'Chris Brown' LIKE '%Chris%' → सच
केस-इनसेंसिटिव मिलान
WHERE LOWER(FullName) LIKE CONCAT('%', LOWER(FirstName), '%')
या COLLATE utf8mb4_general_ci के साथ तुलना करें।