कुछ इस तरह का प्रयास करें:
SELECT * FROM clients WHERE CONCAT(field1, '', field2, '', fieldn) LIKE "%Mary%"
आप स्ट्रिंग ऑपरेटरों और रेगुलर एक्सप्रेशन पर अतिरिक्त जानकारी के लिए SQL दस्तावेज़ देखना चाह सकते हैं।
संपादित करें:NULL फ़ील्ड के साथ कुछ समस्याएँ हो सकती हैं, इसलिए यदि आप IFNULL(field_i, '')
का उपयोग करना चाहें तो बस केवल field_i
. के बजाय
केस संवेदनशीलता :आप केस असंवेदनशील संयोजन या कुछ इस तरह का उपयोग कर सकते हैं:
... WHERE LOWER(CONCAT(...)) LIKE LOWER("%Mary%")
बस सभी फ़ील्ड खोजें :मेरा मानना है कि एसक्यूएल-क्वेरी बनाने का कोई तरीका नहीं है जो स्पष्ट रूप से खोज करने के लिए फ़ील्ड घोषित किए बिना सभी क्षेत्रों में खोज करेगा। इसका कारण संबंधपरक डेटाबेस का सिद्धांत है और संबंधपरक डेटा में हेरफेर करने के लिए सख्त नियम हैं (कुछ संबंधपरक बीजगणित या कोड बीजगणित; ये वही हैं जो SQL से हैं), और सिद्धांत "बस सभी क्षेत्रों को खोजें" जैसी चीजों की अनुमति नहीं देता है। बेशक वास्तविक व्यवहार विक्रेता की ठोस प्राप्ति पर निर्भर करता है। लेकिन सामान्य स्थिति में यह संभव नहीं है। सुनिश्चित करने के लिए, SELECT
check को चेक करें ऑपरेटर सिंटैक्स (WHERE
अनुभाग, सटीक होने के लिए)।