2012-12-22 9 views
51

संभव डुप्लिकेट:
Mysql Like Case Sensitiveआप MySQL जैसे केस संवेदनशील होने के लिए कैसे मजबूर करते हैं?

Mysql अपनी तरह तुलना के लिए मामले पर ध्यान नहीं देता।

आप मामले-संवेदनशील पसंद तुलना करने के लिए इसे कैसे मजबूर कर सकते हैं?

+1

मैं downvote नहीं होंगे या पास वोट के रूप में मैं नहीं कर सकता वास्तव में उन वोटों के योग्य कुछ भी पाएं। हालांकि मैं एंडी से सहमत हूं, उत्तर थोड़ा वेब खोज के साथ और अधिक तेज़ी से पाया जा सकता था। मैं इसे "आलस्य" कहूंगा, लेकिन 61.3k प्रतिनिधि आलसी नहीं कहता है। शायद ओवरफ्लो-होलिक –

+0

@ जेम्स वेबस्टर ठीक है, समय निकालो। मैं "अपना खुद का सवाल जवाब" टोपी पाने की कोशिश कर रहा हूं। लंगड़ा, और हां SO-holic। अगर यह कुछ मिनटों में वोट नहीं देता है, तो मैं इसे बंद कर दूंगा :) फिर भी, मैंने सोचा कि प्रश्न मेरिट – Bohemian

+0

@ एंडीरे पांच साल बाद, Google का उपयोग करके इस जवाब को पहले लाता है :) – Kip

उत्तर

84

उपयोग LIKE BINARY:

mysql> SELECT 'abc' LIKE 'ABC'; 
    -> 1 
mysql> SELECT 'abc' LIKE BINARY 'ABC'; 
    -> 0 
+3

यह एक है बेहतर तरीका – Weltkind

+0

@Weltkind यह बेहतर क्यों है? (यह नहीं कह रहा कि मैं सहमत हूं या असहमत हूं, केवल उत्सुक क्यों कहता हूं कि) – Kip

+0

@ इसे बेहतर IMHO रखें क्योंकि यह किसी भी अक्षर के साथ किसी भी वर्णमाला का काम नहीं करता है और काम करता है। यह सिर्फ एक सीधा "सटीक मैच" करता है जो हर कोई समझता है। यह याद रखना भी आसान है (केवल एक कीवर्ड याद रखें: 'बिनरी') और आसान कोड (आपको' utf8_bin' जैसे वैध वर्णसेट नाम याद रखने की आवश्यकता नहीं है) – Bohemian

26

एक अन्य विकल्प COLLATE उपयोग करने के लिए है,

SELECT * 
FROM table1 
WHERE columnName like 'a%' COLLATE utf8_bin; 
+1

नाइस। यह एक कस्टम collation का उपयोग कर एक कस्टम मैच करने का अवसर खोलता है (हालांकि पूरी तरह से गैर पोर्टेबल, अभी भी अगर आपको इसकी आवश्यकता है, तो आपको इसकी आवश्यकता है – Bohemian

+2

काम नहीं करता है। परिणाम केस असंवेदनशील – Nick

+0

@ निक यह मेरे लिए काम कर रहा है। संकेत '% लोचदार खोज%' COLLATE utf8_bin' 'लोचदार खोज' लौटा रहा है लेकिन 'लोचदार खोज' नहीं है ('एस' के आवरण में अंतर)। – Kip

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