Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

एक स्ट्रिंग के लिए mySQL में पूरी तालिका खोजें

कुछ इस तरह का प्रयास करें:

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 अनुभाग, सटीक होने के लिए)।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैक पर MySQL वर्कबेंच से कनेक्ट नहीं हो सकता। '127.0.0.1' पर MySQL सर्वर से कनेक्ट नहीं हो सकता (61) Mac Macintosh

  2. PostgreSQL बनाम MySQL, एक तुलना

  3. SQL में सेट नियमों के आधार पर कॉलम में पंक्तियों को फ़िल्टर करें

  4. MySQL:रूट खाते तक नहीं पहुंच सकता

  5. कनेक्शन की जाँच करते समय किसी भी निर्दिष्ट MySQL होस्ट से कनेक्ट करने में असमर्थ