पैरामीटर PLACE1 में मान के रूप में पैटर्न के साथ डेटाबेस प्रविष्टियों को खोजने के लिए यह मेरा कोड है,
DROP PROCEDURE `casetwosplit`;
CREATE DEFINER=`root`@`localhost` PROCEDURE `case` (IN `PLACE1` LONGTEXT)
NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER
select all PLACE,CITY,LATTITUDE,LONGITUDE
from LOCATION
where PLACE like @"%PLACE1%
निष्पादन पर, मुझे कोई परिणाम नहीं मिल रहा है, हालांकि मान मौजूद हैं। जब चर में मान PLACE1 स्पष्ट रूप से प्रदान किया गया है, मुझे परिणाम मिल रहा है। लेकिन जब पैटर्न में pattern पसंद क्लॉज का वेरिएबल नाम है जो क्वेरी में वेरिएबल वैल्यू को इंटरपोल नहीं कर रहा है।
उत्तर:
जवाब के लिए 0 № 1MySQL स्वचालित रूप से पैरामीटर को प्रतिस्थापित नहीं करेगास्ट्रिंग के भीतर नाम इसलिए आप हमेशा "PLACE1" स्ट्रिंग वाले स्थान नाम की तलाश में रहते हैं। आपको जो करने की ज़रूरत है वह है वाइल्डकार्ड वर्णों को पैरामीटर में जोड़ना:
select all PLACE,CITY,LATTITUDE,LONGITUDE from LOCATION
where PLACE like CONCAT("%", PLACE1, "%")