If tutorials available on this website are helpful for you, please whitelist this website in your ad blocker😭 or Donate to help us ❤️ pay for the web hosting to keep the website running.
MySQL में normally conditions को किसी absolute value के साथ compare करते हैं लेकिन अगर हमें कही किसी data में से कुछ part ही match करना हो तो वहां पर LIKE operator use कर सकते हैं।
AND , OR और IN Operators की तरह ही LIKE
operator भी एक logical operator जो check करता है कि किसी string data में specified pattern है या नहीं। condition मिलने पर 1 otherwise 0 return होता है।
SELECT * FROM table_name WHERE column LIKE value;
LIKE operator के साथ 2 wildcard characters use किये जाते हैं -
percentage (%)
: % का use किसी string में एक या एक से अधिक characters को match करने के लिए किया जाता है।
underscore ( _ )
: underscore का use string में किसी particular character match करने के लिए किया जाता है।
अब need के according percentage को भी 3 तरीके से use कर सकते हैं -
'%value'
: इसका मतलब है कि search की जाने वाली value , string के end में होनी चाहिए पहले चाहे कुछ भी हो।
'value%'
: इसका मतलब है कि search की जाने वाली value , string के start में होनी चाहिए बाद में चाहे कुछ भी हो।
'%value%'
: ये completely search करता है कि दी गयी value , string में कही भी हो , तो 1 मिलेगा ।
ऊपर दिए गए तीनो statements को एक easy example के साथ समझते हैं।
SELECT 'how are you' LIKE '%you', 'how are you' LIKE 'how%', 'how are you' LIKE '%how%';
Output
+---------------------------+---------------------------+----------------------------+ | 'how are you' LIKE '%you' | 'how are you' LIKE 'how%' | 'how are you' LIKE '%how%' | +---------------------------+---------------------------+----------------------------+ | 1 | 1 | 1 | +---------------------------+---------------------------+----------------------------+
शायद अभी तक LIKE operator के बारे में concept थोड़ा समझ आ गया होगा , अब कुछ real examples देख लेते हैं।
Example के लिए मेरे users
table में कुछ records हैं , तो सबसे पहले मैं उन records को fetch करना चाहता हूँ , जिनमे user का नाम Tom
से start होता है। इसके लिए कुछ इस तरह से query होगी -
SELECT name FROM users WHERE name LIKE 'Tom%';
Output
+-------------+ | name | +-------------+ | Tom | | Tom Holland | | Tommy | +-------------+
Output में आप देख सकते हैं कि वही records fetch हुए हैं जिनमे name Tom से start हुआ है।
Generally हम '%value%' pattern ही follow होता है किसी project में काम करते time क्योंकि यह complete string में check करता है , हालाँकि आप अपनी need के according search का सकते हैं।
NOT LIKE
operator , LIKE के ठीक उल्टा है , NOT LIKE से वो सभी records fetch होंगे जहाँ वो particular दी गयी value नहीं है।
Example के लिए ऊपर दिए गए example में अगर हम NOT LIKE
operator use कर ले तो आपको वो सभी records मिलेंगे जिनमे user name Tom से start नहीं हो रहा है।
SELECT name FROM users WHERE name NOT LIKE 'Tom%';
Output
+--------------+ | name | +--------------+ | john Doe | | Peter Quill | | Peter Parker | +--------------+
तो आपको LIKE के साथ percentage का concept तो clear हो गया होगा , अब underscore को समझ लेते हैं।
जैसा कि आपने ऊपर पढ़ा कि underscore से किसी particular character से escape करने के लिए करते हैं। मतलब '_d'
में तो वो सभी records match होंगे जहाँ पर last में d है और पहला character चाहे कुछ भी हो।
SELECT name FROM users WHERE name LIKE 'tomm_';
output
+-------+ | name | +-------+ | Tommy | +-------+
आप चाहे तो underscore के साथ भी NOT LIKE use कर सकते हैं।