SQL Server में LIKE ऑपरेटर का उपयोग हम string pattern matching के लिए करते हैं। इसका इस्तेमाल तब होता है जब हमें यह जांचना हो कि किसी column का value किसी pattern से मेल खाता है या नहीं।
LIKE ऑपरेटर का सिंटैक्स (Syntax):
SELECT column_name FROM table_name WHERE column_name LIKE pattern;
🔹 LIKE में इस्तेमाल होने वाले दो मुख्य वाइल्डकार्ड (Wildcards):
Wildcard | अर्थ (Meaning in Hindi) |
% | कोई भी संख्या में characters (zero या more) |
_ | सिर्फ एक character के लिए placeholder |
✅ Practice के लिए एक छोटा सा Table बनाएं:
CREATE TABLE Students (
ID INT,
Name VARCHAR(50)
);
INSERT INTO Students VALUES (1, 'Amit'), (2, 'Ram'), (3, 'Suman'), (4, 'Ravi'), (5, 'Anil');
उदाहरण (Examples in Hindi):
नाम 'A' से शुरू होता हो
SELECT * FROM Students
WHERE Name LIKE 'A%';
मतलब: उन सभी students को दिखाए जिनका नाम 'A' से शुरू होता है।
नाम 'n' पर खत्म होता हो
SELECT * FROM Students
WHERE Name LIKE '%n';
मतलब: उन students को दिखाए जिनका नाम 'n' पर खत्म होता है।
नाम में 'am' कहीं भी आता हो
SELECT * FROM Students
WHERE Name LIKE '%am%';
मतलब: जिनके नाम में कहीं भी 'am' आता हो।
नाम का दूसरा अक्षर 'a' हो
SELECT * FROM Students
WHERE Name LIKE '_a%';
मतलब: पहला अक्षर कुछ भी हो, लेकिन दूसरा अक्षर 'a' होना चाहिए।
सिर्फ चार अक्षरों वाले नाम जो 'R' से शुरू हों
SELECT * FROM Students
WHERE Name LIKE 'R___';
मतलब: पहला अक्षर 'R' और कुल 4 अक्षर वाला नाम।
नोट्स:
LIKE case-insensitive होता है SQL Server में (ज्यादातर collations में)।
अगर case-sensitive comparison चाहिए तो collate clause का उपयोग करें:
WHERE Name COLLATE Latin1_General_CS_AS LIKE 'A%'
यहाँ SQL Server में LIKE ऑपरेटर से जुड़े कुछ महत्वपूर्ण इंटरव्यू प्रश्न (Interview Questions in Hindi) दिए गए हैं, जो अक्सर पूछे जाते हैं, खासकर Fresher और SQL Developer interviews में:
Q1. LIKE ऑपरेटर क्या है और इसका उपयोग क्यों किया जाता है?
उत्तर: LIKE एक SQL ऑपरेटर है जिसका उपयोग pattern matching के लिए किया जाता है। इसका उपयोग तब किया जाता है जब हमें किसी column की values को किसी specific pattern से compare करना होता है, जैसे कि किसी नाम का पहला अक्षर, आखिरी अक्षर, या बीच के characters match करना।
Q2. LIKE और = ऑपरेटर में क्या अंतर है?
LIKE | = (Equal To) |
Pattern matching करता है | Exact match करता है |
Wildcards (% and _) का उपयोग करता है | कोई wildcard सपोर्ट नहीं |
उदाहरण
LIKE 'A%' ➝ A से शुरू होने वाले
= 'Amit' ➝ सिर्फ Amit match होगा
Q3. LIKE 'A%' और LIKE '%A' में क्या अंतर है?
LIKE 'A%' ➝ उन values को return करेगा जो A से शुरू होती हैं
LIKE '%A' ➝ उन values को return करेगा जो A पर खत्म होती हैं
Q4. % और _ वाइल्डकार्ड में क्या अंतर है?
Symbol | उपयोग | अर्थ |
% | कोई भी संख्या में characters | Zero या ज्यादा characters को match करता है |
_ | एक character | Exactly एक character को match करता है |
'A%' ➝ A से शुरू होने वाली सभी values
'A_' ➝ A के बाद एक character वाली values (जैसे: "An", "Ab")
Q5. क्या LIKE case sensitive होता है?
डिफ़ॉल्ट रूप से SQL Server में LIKE case-insensitive होता है (Collation पर निर्भर करता है)। अगर आप case-sensitive comparison करना चाहते हैं तो COLLATE keyword का उपयोग करें।
SELECT * FROM Users
WHERE Name COLLATE Latin1_General_CS_AS LIKE 'A%';
Q6. आप एक query कैसे लिखेंगे जो उन names को लाए जो 5 characters के हों और 'R' से शुरू होते हों?
SELECT * FROM Students WHERE Name LIKE 'R____';
(यहाँ 4 underscores हैं जो 4 characters को दर्शाते हैं और 'R' पहला character है)
Q7. क्या LIKE ऑपरेटर में NOT का उपयोग कर सकते हैं?
हाँ, आप NOT LIKE का उपयोग कर सकते हैं।
SELECT * FROM Students WHERE Name NOT LIKE 'A%';
(यह उन names को दिखाएगा जो 'A' से शुरू नहीं होते हैं)
Q8. LIKE का उपयोग कौन-कौन से data types पर किया जा सकता है?
LIKE ऑपरेटर केवल character-based data types (जैसे CHAR, VARCHAR, TEXT, NVARCHAR, etc.) पर ही उपयोग किया जा सकता है।
Q9. एक table है Employee(Name) और आप उन कर्मचारियों की लिस्ट चाहते हैं जिनके नाम में 'man' आता है। Query लिखिए।
SELECT * FROM Employee
WHERE Name LIKE '%man%';
Q1. LIKE 'A%' का क्या मतलब है?
A. नाम 'A' पर खत्म हो B. नाम में कहीं भी 'A' हो C. नाम 'A' से शुरू हो D. नाम में केवल 'A' हो Answer: CQ2. निम्नलिखित में से कौन सा वाइल्डकार्ड केवल एक character को represent करता है?
A. % B. _ C. * D. ? Answer: BQ3. LIKE '%ing' किसे match करेगा?
A. जो 'ing' से शुरू होते हैं B. जो 'ing' पर खत्म होते हैं C. जिनमें कहीं भी 'ing' आता हो D. जो केवल 'ing' ही हों Answer: BQ4. निम्न SQL Query का परिणाम क्या होगा?
sql Copy Edit SELECT * FROM Students WHERE Name LIKE 'R___'; A. ऐसे नाम जो 'R' से शुरू होते हैं और 4 अक्षर के हों B. ऐसे नाम जो 'R' पर खत्म होते हैं C. ऐसे नाम जिनमें केवल 'R' हो D. ऐसे नाम जो 3 अक्षरों के हों Answer: AQ5. क्या SQL Server में LIKE operator case-sensitive होता है?
A. हाँ, हमेशा B. नहीं, कभी नहीं C. डिफ़ॉल्ट रूप से नहीं होता लेकिन हो सकता है D. केवल VARCHAR में ही होता है Answer: CQ6. अगर आपको ऐसे नाम चाहिए जिनमें दूसरा अक्षर 'a' हो, तो आप कौन सी Query लिखेंगे?
A. LIKE '%a%' B. LIKE 'a%' C. LIKE '_a%' D. LIKE '%_a' Answer: CQ7. NOT LIKE का उपयोग किसलिए होता है?
A. Uppercase matching के लिए B. Exact match के लिए C. Pattern को exclude करने के लिए D. Substring को replace करने के लिए Answer: CQ8. इस Query का परिणाम क्या होगा?
sql Copy Edit SELECT * FROM Employee WHERE Name LIKE '____'; A. केवल 4 अक्षर वाले नाम B. 'e' से शुरू होने वाले नाम C. खाली नाम D. केवल vowels वाले नाम Answer: AQ9. % wildcard का क्या अर्थ है?
A. कोई एक character B. सिर्फ एक word C. Zero या ज्यादा characters D. केवल number Answer: CQ10. किस query में LIKE का गलत उपयोग है?
A. LIKE 'A%' B. LIKE '_m%' C. LIKE '%an%' D. LIKE 123% Answer: D (LIKE में string pattern quotes में होना चाहिए)
0 Comments