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

क्यों find_in_set काम करता है लेकिन खंड में

IN खोज के लिए सूची या पैरामीटर स्वीकार करता है, FIND_IN_SET अल्पविराम से अलग की गई सूची वाले स्ट्रिंग पैरामीटर को स्वीकार करता है:

SELECT  1 IN (1, 2, 3, 4)

SELECT  FIND_IN_SET(1, '1,2,3,4')

यदि आप IN . लागू करने का प्रयास करते हैं अल्पविराम से अलग की गई स्ट्रिंग के लिए, यह इसे एक पैरामीटर के रूप में मानेगा और इसे संपूर्ण रूप से मिलाएगा:

SELECT  1 IN ('1,2,3,4')

बेशक, स्ट्रिंग '1' स्ट्रिंग के बराबर नहीं है '1,2,3,4' इसलिए ऊपर दी गई क्वेरी झूठी वापसी करती है।



  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 डेटाबेस में लिखना

  2. MySQL अनपेक्षित परिणाम:एक वर्चर कॉलम पर इन-क्लॉज (संख्या, 'स्ट्रिंग')

  3. PHP/MySQL - बहुवचन शामिल करें लेकिन एकवचन को बाहर करें

  4. MySQL दृश्य कैसे बनाएं और उपयोग करें

  5. Mysql दिनांक समारोह कम से कम के लिए काम नहीं कर रहा है