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

MYSQL में WHERE क्लॉज के रूप में स्ट्रिंग कैसे पास करें?

इसे आजमाएं:

SET @query = "SELECT * FROM projects WHERE ";

SET @l_project_name = CONCAT("a.project_name LIKE '%", projectName, "%'");
SET @l_project_type = CONCAT(" OR a.project_type LIKE '%", projectType, "%'");
SET @l_project_description = CONCAT(" OR a.project_description LIKE '%", projectDescription, "%'");

SET @l_full_search_clause = CONCAT(@l_project_name, @l_project_type, @l_project_description); 

SET @query = CONCAT(@query, @l_full_search_clause);

PREPARE stmt FROM @query;
EXECUTE stmt;

मेरा मानना ​​है कि आपको @var . का उपयोग करना होगा चर के लिए वाक्यविन्यास। साथ ही, एक स्ट्रिंग में संग्रहीत क्वेरी को निष्पादित करने के लिए, आपको PREPARE . का उपयोग करना होगा और EXECUTE

और आपको UPPER . का उपयोग करने की आवश्यकता नहीं है तार पर। डिफ़ॉल्ट रूप से, MySQL स्ट्रिंग्स केस-असंवेदनशील रूप से तुलना करता है। आप यह सुनिश्चित कर सकते हैं कि आपके फ़ील्ड के लिए संयोजन प्रकार को देखकर। ci_ वाले "केस असंवेदनशील" के लिए खड़े हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL में निरंतर पंक्तियों के लिए GROUP BY

  2. mysql के माध्यम से PHP निष्पादित करें?

  3. Laravel वाक्पटु संबंधों का उपयोग कर त्रिगुट संबंध बनाना

  4. इंडेक्स पर MySQL regexp

  5. एक MySQL तालिका की प्रत्येक पंक्ति पर PHP में एक डिलीट बटन जोड़ना