2010-06-30 18 views
6

एक मेज datatbl पर विचार इस तरह:केस संवेदनशील RLIKE

+----------+ 
| strfield | 
+----------+ 
| abcde | 
| fgHIJ | 
| KLmno | 
+----------+ 

मैं इस तरह एक प्रश्न कुछ लिखना चाहते हैं:

select * from datatbl where strfield rlike '[a-z]*'; 

एक गैर एसक्यूएल regex में के रूप में, मैं करना चाहते हैं पंक्ति w/abcde वापस करें, लेकिन पंक्तियों w/राजधानियों को नहीं। मुझे ऐसा करने का आसान तरीका नहीं दिख रहा है। क्या मुझे कुछ बेवकूफ याद आ रहा है?

धन्यवाद, जो

उत्तर

12

MySQL regexp/RLIKE इस के लिए बेकार है - आप केस संवेदी खोज के लिए बाइनरी के रूप में डेटा कास्ट करने के लिए की जरूरत है:

SELECT * 
    FROM datatbl 
WHERE CAST(strfield AS BINARY) rlike '[a-z]*'; 

आप इस comments for the REGEXP/RLIKE documentation में उठाया मिल जाएगा ।

+0

बस भविष्य में संदर्भ के लिए, पूरे स्ट्रिंग के मिलान के रूप में ओपी चाहते लग रहा था, regex 'है- को rlike '^ [a-z] * $'' की आवश्यकता होगी – Kip

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