2011-02-16 17 views
36

मेरी कंपनी NO_BACKSLASH_ESCAPES मोड में MySQL चलाती है। मैं इस मोड में एक LIKE क्वेरी में एक शाब्दिक % या _ से कैसे बच सकता हूं? मानक तरीका \% है, लेकिन यह इस मोड में काम नहीं करता है।जब कोई NOACACKSLASH_ESCAPES विकल्प सक्षम नहीं होता है तो शाब्दिक प्रतिशत चिह्न से कैसे बचें?

उदाहरण: एक कॉलम में निम्नलिखित मान हैं: 5% off, 50% off। निम्न क्वेरी मानक मोड में काम करता है लेकिन नहीं NO_BACKSLASH_ESCAPES मोड में:

SELECT * FROM mytable 
WHERE mycol LIKE '5\% off' 
+0

'%%' चाल चल सकता है? –

+3

@ मार्स नोप, यह मेरा पहला प्रयास – Kip

उत्तर

47

आप बच

select * from mytable 
where mycol like '5\% off' escape '\'; 

एक संस्करण है कि NO_BACKSLASH_ESCAPES मोड की परवाह किए बिना काम करता है के लिए की जरूरत है, तो आप पाइप की तरह, एक अलग चरित्र का उपयोग कर सकते हैं:

select * from mytable 
where mycol like '5|% off' escape '|'; 
+1

धन्यवाद था। बैकस्लैश के चारों ओर सिंगल-कोट्स होने की आवश्यकता है, डबल-कोट्स नहीं। – Kip

+0

ओह, वही है क्योंकि NO_BLACKSLASH_ESCAPES – ajreal

+0

में भाग निकल रहा है @ajreal क्या आपका मतलब 'NO_BACKSLASH_ESCAPES' था? – Cacovsky

संबंधित मुद्दे