MySQL में, आप NOT LIKE
. का उपयोग कर सकते हैं LIKE
. का निषेध करने के लिए ऑपरेटर। दूसरे शब्दों में, NOT LIKE
LIKE
. के विपरीत परिणाम देता है .
यदि स्ट्रिंग दिए गए पैटर्न से मेल खाती है, तो परिणाम 0
. है , अन्यथा यह 1
है ।
पैटर्न को एक शाब्दिक स्ट्रिंग होने की आवश्यकता नहीं है। इस फ़ंक्शन का उपयोग स्ट्रिंग एक्सप्रेशन और टेबल कॉलम के साथ किया जा सकता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
expr NOT LIKE pat [ESCAPE 'escape_char']
जहां expr
इनपुट स्ट्रिंग है और pat
वह पैटर्न है जिसके लिए आप स्ट्रिंग का परीक्षण कर रहे हैं।
वैकल्पिक ESCAPE
क्लॉज आपको एक एस्केप कैरेक्टर निर्दिष्ट करने की अनुमति देता है। डिफॉल्ट एस्केप कैरेक्टर \
है , इसलिए यदि आपको इसे बदलने की आवश्यकता नहीं है तो आप इस खंड को छोड़ सकते हैं।
यह ऑपरेटर निम्नलिखित करने के बराबर है:
NOT (expr LIKE pat [ESCAPE 'escape_char'])
उदाहरण 1 - मूल उपयोग
SELECT
. में इस ऑपरेटर का उपयोग कैसे करें इसका एक उदाहरण यहां दिया गया है कथन:
SELECT 'Charlie' NOT LIKE 'Char%';
परिणाम:
+----------------------------+ | 'Charlie' NOT LIKE 'Char%' | +----------------------------+ | 0 | +----------------------------+
इस मामले में, वापसी मूल्य 0
. है जिसका अर्थ है कि इनपुट स्ट्रिंग किया वास्तव में पैटर्न से मेल खाते हैं।
उदाहरण 2 - LIKE
की तुलना में
यहां इसकी तुलना LIKE
. से की गई है :
SELECT 'Charlie' LIKE 'Char%' AS 'Like', 'Charlie' NOT LIKE 'Char%' AS 'Not Like';
परिणाम:
+------+----------+ | Like | Not Like | +------+----------+ | 1 | 0 | +------+----------+
उदाहरण 3 - एक समतुल्य सिंटैक्स
जैसा कि बताया गया है, NOT LIKE
NOT
. का उपयोग करने के बराबर है LIKE
. के विरुद्ध तार्किक संचालिका ऑपरेटर। यहाँ मेरा मतलब है:
SELECT 'Charlie' NOT LIKE 'Char%' AS 'NOT LIKE syntax', NOT ('Charlie' LIKE 'Char%') AS 'Equivalent syntax';
परिणाम:
+-----------------+-------------------+ | NOT LIKE syntax | Equivalent syntax | +-----------------+-------------------+ | 0 | 0 | +-----------------+-------------------+
उदाहरण 4 - एक डेटाबेस उदाहरण
LIKE
ऑपरेटर का उपयोग अक्सर WHERE
. में किया जाता है SELECT
. का खंड डेटाबेस को क्वेरी करते समय कथन। इसलिए, NOT LIKE
उसी तरह इस्तेमाल किया जा सकता है।
जब हम NOT LIKE
. का उपयोग करते हैं इस तरह, यह परिणामों को केवल उन रिकॉर्ड तक सीमित कर देता है जो नहीं मैच, लेकिन हम वास्तविक परिणाम देखते हैं (न कि केवल एक 1
या 0
)।
डेटाबेस क्वेरी में हम इस ऑपरेटर का उपयोग कैसे कर सकते हैं इसका एक उदाहरण यहां दिया गया है:
SELECT ArtistId, ArtistName FROM Artists WHERE ArtistName NOT LIKE 'B%';
परिणाम:
+----------+------------------------+ | ArtistId | ArtistName | +----------+------------------------+ | 1 | Iron Maiden | | 2 | AC/DC | | 3 | Allan Holdsworth | | 5 | Devin Townsend | | 6 | Jim Reeves | | 7 | Tom Jones | | 8 | Maroon 5 | | 9 | The Script | | 10 | Lit | | 12 | Michael Learns to Rock | | 13 | Carabao | | 14 | Karnivool | +----------+------------------------+
इस मामले में, यह एक साधारण प्रश्न था जो उन सभी कलाकारों को लौटाता है जिनके नाम नहीं . हैं B . अक्षर से शुरू करें ।
यहाँ उस तालिका में कलाकारों की पूरी सूची है:
SELECT ArtistId, ArtistName FROM Artists;
परिणाम:
+----------+------------------------+ | ArtistId | ArtistName | +----------+------------------------+ | 1 | Iron Maiden | | 2 | AC/DC | | 3 | Allan Holdsworth | | 4 | Buddy Rich | | 5 | Devin Townsend | | 6 | Jim Reeves | | 7 | Tom Jones | | 8 | Maroon 5 | | 9 | The Script | | 10 | Lit | | 11 | Black Sabbath | | 12 | Michael Learns to Rock | | 13 | Carabao | | 14 | Karnivool | | 15 | Birds of Tokyo | | 16 | Bodyjar | +----------+------------------------+
इसलिए यदि हम NOT
. को हटा दें (यानी हम सिर्फ LIKE
. का उपयोग करते हैं ) हमें यह परिणाम मिलता है:
SELECT ArtistId, ArtistName FROM Artists WHERE ArtistName LIKE 'B%';
परिणाम:
+----------+----------------+ | ArtistId | ArtistName | +----------+----------------+ | 4 | Buddy Rich | | 11 | Black Sabbath | | 15 | Birds of Tokyo | | 16 | Bodyjar | +----------+----------------+
उदाहरण 5 - बैकस्लैश कैरेक्टर से बचना
बैकस्लैश कैरेक्टर (\
) का उपयोग किसी भी वाइल्डकार्ड वर्ण से बचने के लिए किया जा सकता है (_
और %
) एस्केप कैरेक्टर के साथ और बिना ऐसी खोज का एक उदाहरण यहां दिया गया है:
SELECT 'usr+123' NOT LIKE 'usr_123' AS 'Without escape', 'usr+123' NOT LIKE 'usr\_123' AS 'With escape';
परिणाम:
+----------------+-------------+ | Without escape | With escape | +----------------+-------------+ | 0 | 1 | +----------------+-------------+
उदाहरण 6 - ESCAPE
खंड
आप ESCAPE
. का भी उपयोग कर सकते हैं अपने खुद के कस्टम एस्केप कैरेक्टर को निर्दिष्ट करने के लिए क्लॉज। यहां एक उदाहरण दिया गया है:
SELECT 'usr_123' NOT LIKE 'usr|_123' ESCAPE '|' AS 'String 1', 'usr+123' NOT LIKE 'usr|_123' ESCAPE '|' AS 'String 2';
परिणाम:
+----------+----------+ | String 1 | String 2 | +----------+----------+ | 0 | 1 | +----------+----------+
उदाहरण 7 - अंकीय व्यंजक
इस ऑपरेटर का उपयोग संख्यात्मक अभिव्यक्तियों पर किया जा सकता है। यहां एक उदाहरण दिया गया है:
SELECT 1234 NOT LIKE '12%', 1234 NOT LIKE '12_';
परिणाम:
+---------------------+---------------------+ | 1234 NOT LIKE '12%' | 1234 NOT LIKE '12_' | +---------------------+---------------------+ | 0 | 1 | +---------------------+---------------------+