MySQL में LIKE क्लॉज के साथ यूज़र-डिफ़ाइन्ड वेरिएबल का उपयोग करने के लिए CONCAT() फ़ंक्शन का उपयोग करें।
सिंटैक्स
SET @variableName = 'searchValue';
SELECT column1, column2 FROM yourTableName WHERE yourColumnName LIKE CONCAT('%', @variableName, '%');
उदाहरण
टेबल बनाएं:
CREATE TABLE UserVariableInLike (
id INT,
Name VARCHAR(100),
Age INT
);
रिकॉर्ड डालें:
INSERT INTO UserVariableInLike VALUES (101, 'John', 23); INSERT INTO UserVariableInLike VALUES (102, 'John Smith', 24); INSERT INTO UserVariableInLike VALUES (103, 'Carol Smith', 23); INSERT INTO UserVariableInLike VALUES (104, 'Johnson', 25); INSERT INTO UserVariableInLike VALUES (105, 'Adam Smith', 26);
वेरिएबल के साथ खोज
SET @searchName = 'John';
SELECT id, Name, Age FROM UserVariableInLike WHERE Name LIKE CONCAT('%', @searchName, '%');
परिणाम: 'John' वाले सभी नाम मिलेंगे: John, John Smith, Johnson
महत्वपूर्ण नोट्स
CONCAT('%', @var, '%')पैटर्न में वाइल्डकार्ड जोड़ता है- यूज़र वेरिएबल सत्र-विशिष्ट होते हैं (@ से शुरू होते हैं)
- बड़े डेटासेट के लिए तैयार स्टेटमेंट (prepared statements) बेहतर हैं