2011-03-30 15 views
11

, एक प्रतिशत चिह्न शामिल इस का उत्तर नहीं मिल पा रहा है ...पता लगाना यदि एक varchar MySQL

मैं कैसे पंक्तियों जहां एक निश्चित स्तंभ (varchar) एक प्रतिशत चिह्न (%) शामिल हैं चुन सकते हैं, MySQL में?

+1

होगा 'कहां कॉल करें'% [%]% '' – Jaider

उत्तर

23
where col like '%|%%' escape '|' 
+0

धन्यवाद! पता नहीं था कि आप मनमाने ढंग से बचने वाले चरित्र –

4

इस प्रयास करें:

SELECT * 
    FROM <YOUR_TABLE> 
WHERE <YOUR_COLUMN> LIKE '%\%%' 
+0

निर्दिष्ट कर सकते हैं, इसलिए, दूसरों के लिए थोड़ा सा स्पष्टीकरण देने के लिए, यह उदाहरण "% " खोज रहा है। प्रतिशत मामले शाब्दिक, इस मामले में, '\%' से बच निकला है। – rinogo

2

मेरा मानना ​​है कि अगर मैं गलत नहीं कर रहा हूँ MySql भागने "\" चरित्र है।

आप एक का चयन की तरह कर सकता है:

SELECT * FROM myTable WHERE myColumn LIKE '%\%%' 
+0

जब मैं mysql कोड में देखता हूं, तो मैं twinge करता हूं, क्योंकि यह आमतौर पर PHP के साथ जोड़ा जाता है और त्रुटियों के लिए संभावनाएं अनंत हैं – RichardTheKiwi

+0

एक कॉलम पसंद करते हैं जिसमें '%' हो सकता है या नहीं हो सकता है, बस खराब mojo imo है ... लेकिन मैं पता नहीं है कि ओपी को क्या चाहिए ताकि मैं बैग में उस विशेष बिल्ली पर अपने प्रतिद्वंद्वियों को अपने पास रख सकूं। डब्ल्यू/ओ परिस्थितियों या भाषा को जानने के लिए ओपी का उपयोग वास्तव में बहुत अधिक नहीं हो सकता है ... लेकिन हाँ ... php + mysql में बचने वाला चरित्र खराब हो सकता है। – Patrick

+0

इसका उपयोग PHP से नहीं किया जाना चाहिए। यह सिर्फ एक "रखरखाव क्वेरी" है जिसे मैं यह जांचने के लिए दौड़ना चाहता हूं कि मेरे कितने यूआरएल बच निकले वर्ण हैं। उत्तर के लिए धन्यवाद! –

0
Select * from table_name 
WHERE [column_name] like '%['+char(37)+']%' 
0

आप अपने भागने चरित्र के रूप में कम आमतौर पर इस्तेमाल किया विशेष वर्ण का उपयोग करना चाहते हैं, तो आप ऐसा कर सकते हैं:

WHERE col LIKE CONCAT('%', CHAR(0), '%%') ESCAPE CHAR(0); 
SQLServer के लिए
संबंधित मुद्दे