जैसा कि हम जानते हैं कि NOT LIKE ऑपरेटर का उपयोग वाइल्डकार्ड वर्णों के साथ निर्दिष्ट स्ट्रिंग न होने वाले डेटा को प्राप्त करने के लिए किया जाता है। मूल रूप से, वाइल्डकार्ड वे वर्ण हैं जो जटिल मानदंडों से मेल खाने वाले डेटा को खोजने में मदद करते हैं। निम्नलिखित वे वाइल्डकार्ड प्रकार हैं जिनका उपयोग NOT LIKE ऑपरेटर के साथ किया जा सकता है:
% - प्रतिशत चिह्न
'%' वाइल्डकार्ड का उपयोग 0, 1 या अधिक वर्णों के पैटर्न को निर्दिष्ट करने के लिए किया जाता है। NOT LIKE ऑपरेटर के साथ % वाइल्डकार्ड का उपयोग करने का बुनियादी सिंटैक्स निम्नानुसार है:
Select Statement…Where column_name NOT LIKE ‘X%’
यहाँ X कोई निर्दिष्ट शुरुआती पैटर्न है जैसे एकल वर्ण या अधिक और % 0 से शुरू होने वाले किसी भी संख्या में वर्णों से मेल खाता है।
प्रतिशत '%' वाइल्डकार्ड को निर्दिष्ट पैटर्न के साथ कई तरीकों से उपयोग किया जा सकता है। निम्नलिखित कुछ उदाहरण % के साथ विभिन्न NOT LIKE ऑपरेटर दिखा रहे हैं। यहाँ इन उदाहरणों में X निर्दिष्ट पैटर्न को दर्शाता है:
1. NOT LIKE ‘X%’: यह "X" से शुरू होने वाले मानों के अलावा अन्य मान ढूंढेगा।
उदाहरण
mysql> Select * from Student Where Name NOT LIKE 'a%'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 15 | Harshit | Delhi | Commerce | 2009 | | 20 | Gaurav | Jaipur | Computers | 2017 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 4 rows in set (0.00 sec)
2. NOT LIKE ‘%X’: यह "X" पर समाप्त होने वाले मानों के अलावा अन्य मान ढूंढेगा।
उदाहरण
mysql> Select * from Student Where Name NOT LIKE '%v'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+----------+--------------------+ | 15 | Harshit | Delhi | Commerce | 2009 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+----------+--------------------+ 2 rows in set (0.00 sec)
3. NOT LIKE ‘%X%’: यह किसी भी स्थिति में "X" वाले मानों के अलावा अन्य मान ढूंढेगा।
उदाहरण
mysql> Select * from Student Where Name NOT LIKE '%h%'; +------+--------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+--------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 2 | Aarav | Mumbai | History | 2010 | | 20 | Gaurav | Jaipur | Computers | 2017 | +------+--------+---------+-----------+--------------------+ 3 rows in set (0.00 sec)
4. NOT LIKE ‘X%X’: यह "X" से शुरू और "X" पर समाप्त होने वाले मानों के अलावा अन्य मान ढूंढेगा।
उदाहरण
mysql> Select * from Student Where Name NOT LIKE 'a%v'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 15 | Harshit | Delhi | Commerce | 2009 | | 20 | Gaurav | Jaipur | Computers | 2017 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 4 rows in set (0.00 sec)
_ - अंडरस्कोर
अंडरस्कोर वाइल्डकार्ड का उपयोग ठीक एक वर्ण से मेल खाने के लिए किया जाता है। NOT LIKE ऑपरेटर के साथ _ वाइल्डकार्ड का उपयोग करने का बुनियादी सिंटैक्स निम्नानुसार है:
Select Statement…Where column_name NOT LIKE ‘X_’
यहाँ X कोई निर्दिष्ट शुरुआती पैटर्न है जैसे एकल वर्ण या अधिक और _ ठीक एक वर्ण से मेल खाता है।
अंडरस्कोर '_' वाइल्डकार्ड का उपयोग अकेले या % के संयोजन में, निर्दिष्ट पैटर्न के साथ कई तरीकों से किया जा सकता है। निम्नलिखित कुछ उदाहरण % के साथ विभिन्न NOT LIKE ऑपरेटर दिखा रहे हैं। यहाँ इन उदाहरणों में X निर्दिष्ट पैटर्न को दर्शाता है:
1. NOT LIKE ‘X_’: यह "X" से शुरू होने वाले और X के बाद ठीक एक वर्ण वाले मानों के अलावा अन्य मान ढूंढेगा।
उदाहरण
mysql> Select * from Student Where Year_of_Admission NOT LIKE '200_'; +------+--------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+--------+---------+-----------+--------------------+ | 2 | Aarav | Mumbai | History | 2010 | | 20 | Gaurav | Jaipur | Computers | 2017 | +------+--------+---------+-----------+--------------------+ 2 rows in set (0.00 sec)
2. NOT LIKE ‘_X’: यह "X" पर समाप्त होने वाले और X से ठीक पहले एक वर्ण वाले मानों के अलावा अन्य मान ढूंढेगा।
उदाहरण
mysql> Select * from Student Where Year_of_Admission NOT LIKE '_017'; +------+---------+---------+-----------+--------------------+ | Id | Name | Address | Subject | year_of_admission | +------+---------+---------+-----------+--------------------+ | 1 | Gaurav | Delhi | Computers | 2001 | | 2 | Aarav | Mumbai | History | 2010 | | 15 | Harshit | Delhi | Commerce | 2009 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+-----------+--------------------+ 4 rows in set (0.00 sec)
3. NOT LIKE _X%: यह % वाइल्डकार्ड के संयोजन में है। यह उन मानों के अलावा अन्य मान ढूंढेगा जिनमें X दूसरी स्थिति में हो।
उदाहरण
mysql> Select * from Student Where Name NOT LIKE '_a%'; Empty set (0.00 sec)
4. NOT LIKE X_%_%: यह % वाइल्डकार्ड के संयोजन में है। यह उन मानों के अलावा अन्य मान ढूंढेगा जो X से शुरू होते हैं और कम से कम तीन वर्ण लंबाई के होते हैं।
उदाहरण
mysql> Select * from Student Where Name NOT LIKE 'g_%_%'; +------+---------+---------+----------+--------------------+ | Id | Name | Address | Subject | year_of_Admission | +------+---------+---------+----------+--------------------+ | 2 | Aarav | Mumbai | History | 2010 | | 15 | Harshit | Delhi | Commerce | 2009 | | 21 | Yashraj | NULL | Math | 2000 | +------+---------+---------+----------+--------------------+ 3 rows in set (0.00 sec)