है, मैं एक SQL क्वेरी ढूंढ रहा हूं जो मुझे उन सभी पंक्तियों को देता है जहां कॉलमएक्स में कोई लोअरकेस अक्षर होता है (उदा। "1234aaaa5789")। अपरकेस के लिए वही।पंक्तियों को कैसे ढूंढें जिनमें लोअरकेस अक्षर
उत्तर
SELECT * FROM my_table
WHERE UPPER(some_field) != some_field
यह åäöøüæï की तरह अजीब अक्षर के साथ काम करना चाहिए। आपको तालिका के लिए भाषा-विशिष्ट यूटीएफ -8 संयोजन का उपयोग करने की आवश्यकता हो सकती है।
mysql> SELECT '1234aaaa578' REGEXP '^[a-z]';
, आदि FYI करें a-z के अलावा कोई अन्य पात्रों के साथ काम नहीं करेंगे åäöøüæï तरह – geon
। एक चरित्र के प्रकार का निर्धारण करते समय REGEXP और RLIKE वर्तमान वर्ण सेट का उपयोग करें। डिफ़ॉल्ट लैटिन 1 (सीपी 1252 वेस्ट यूरोपीय) है। चेतावनी आरईजीएक्सपी और रिलीके ऑपरेटर बाइट-वार फैशन में काम करते हैं, इसलिए वे बहु-बाइट सुरक्षित नहीं हैं और बहु-बाइट चरित्र सेट के साथ अप्रत्याशित परिणाम उत्पन्न कर सकते हैं। इसके अलावा, ये ऑपरेटर अपने बाइट मानों से वर्णों की तुलना करते हैं और उच्चारण वर्णों की तुलना बराबर की तुलना नहीं की जा सकती है, भले ही दिए गए संयोजन उन्हें समान मानते हैं। –
मैं एक विशेषज्ञ MySQL पर मैं तुम्हें REGEXP
पर देखने के सुझाव है कि नहीं कर रहा हूँ।
SELECT * FROM MyTable WHERE ColumnX REGEXP '^[a-z]';
एमएस एसक्यूएल सर्वर में COLLATE क्लॉज का उपयोग करें।
SELECT Column1
FROM Table1
WHERE Column1 COLLATE Latin1_General_CS_AS = 'casesearch'
COLLATE Latin1_General_CS_AS
जोड़ना खोज केस संवेदनशील बनाता है।
SQL सर्वर स्थापना SQL_Latin1_General_CP1_CI_AS
का डिफ़ॉल्ट संयोजन केस संवेदनशील नहीं है।
किसी भी तालिका के लिए स्थायी रूप से चलाने के लिए किसी भी तालिका के किसी भी कॉलम के संयोजन को बदलने के लिए।
ALTER TABLE Table1
ALTER COLUMN Column1 VARCHAR(20)
COLLATE Latin1_General_CS_AS
संग्रहीत प्रक्रिया के बाद किसी भी तालिका चलाने के लिए कॉलम के संयोजन को जानने के लिए।
EXEC sp_help DatabaseName
स्रोत: SQL SERVER – Collate – Case Sensitive SQL Query Search
SELECT * FROM my_table WHERE my_column = 'my string'
COLLATE Latin1_General_CS_AS
यह एक केस संवेदी खोज होगा।
संपादित
में kouton के comment here और tormuto के comment here जो भी नीचे मिलान के साथ समस्या का सामना कर रहा
COLLATE Latin1_General_CS_AS
पहली बार अपने एसक्यूएल सर्वर के लिए default collation की जाँच करनी चाहिए कहा गया है, उनके संबंधित डेटाबेस और प्रश्न में कॉलम; और क्वेरी अभिव्यक्ति के साथ डिफ़ॉल्ट संयोजन में पास करें। Collations की सूची here पाया जा सकता है।
यह अच्छी तरह से काम करता है। –
यह एमएस एसक्यूएल में काम करता है। –
यह मेरे सर्वर के phpmyadmin से काम नहीं किया; मुझे एक त्रुटि मिली: अज्ञात collation: 'Latin1_General_CS_AS'। इसलिए मुझे 'लैटिन 1_General_CS' के बजाय एक और उपलब्ध collation का उपयोग करना पड़ा और यह काम किया। – tormuto
SELECT * FROM Yourtable
WHERE UPPER([column_NAME]) COLLATE Latin1_General_CS_AS !=[Column_NAME]
छोटे अक्षरों में सभी पंक्तियों
SELECT *
FROM Test
WHERE col1
LIKE '%[abcdefghijklmnopqrstuvwxyz]%'
collate Latin1_General_CS_AS
धन्यवाद Manesh Joseph
मैंने तुलनात्मक स्ट्रिंग को राजधानियों में बदलने के बाद मेरी समस्या हल की। – sanepete
Posgresql में आप उदाहरण के लिए ~
इस्तेमाल कर सकते हैं यदि आप सभी पंक्तियों है कि किसी भी पत्र के साथ col_a
है के लिए खोज सकते हैं लोअरकेस में
select * from your_table where col_a '[a-z]';
आप अपनी आवश्यकताओं के अनुसार रेगेक्स अभिव्यक्ति को संशोधित कर सकते हैं।
सादर,
--FOr Sql
SELECT *
FROM tablename
WHERE tablecolumnname LIKE '%[a-z]%';
मैं ColumnX को बायनरी को जोड़ने के लिए, परिणाम प्राप्त करने के लिए है केस संवेदी
SELECT * FROM MyTable WHERE BINARY(ColumnX) REGEXP '^[a-z]';
इस रूप में यह है कि मैंने इसे utf8 एन्कोडेड तालिका और utf8_unicode_ci कॉलम के लिए कैसे किया, w hich वास्तव में तैनात किया गया है प्रतीत नहीं होता:
SELECT *
FROM table
WHERE UPPER(column) != BINARY(column)
- 1. एक ही लोअरकेस अक्षर
- 2. ट्वीट्स कैसे ढूंढें जिनमें यूआरएल है?
- 3. XSLT - अंतरिक्ष जोड़े लोअरकेस अपरकेस अक्षर
- 4. यूआईटेक्स्टफिल्ड लोअरकेस
- 5. सभी डुप्लिकेट पंक्तियों को ढूंढना, जिनमें "छोटे सबस्क्रिप्ट वाले तत्व"
- 6. जांच कर रहा है कि कोई स्ट्रिंग लोअरकेस अक्षर
- 7. INITIALS - सीएसएस: दो पंक्तियों पर पहला अक्षर
- 8. ग्रहण में regex का उपयोग कर अपरकेस अक्षर को लोअरकेस अक्षरों में कैसे बदलें?
- 9. रेगेक्स अपरकेस को लोअरकेस
- 10. स्ट्रिंग सरणी को लोअरकेस
- 11. एक numpy.ndarray में सभी पंक्तियों को कैसे निकालें जिनमें गैर-संख्यात्मक मान
- 12. समूह को अपने लोअरकेस संस्करण
- 13. Erlang बाइनरी स्ट्रिंग को लोअरकेस
- 14. एनएसएसटींग में कैप्स को लोअरकेस
- 15. स्क्रीन को कैसे ढूंढें एंड्रॉइड
- 16. रूट UIViewController को कैसे ढूंढें
- 17. डेटा.फ्रेम में डुप्लिकेट पंक्तियों को ढूंढें और मर्ज करें लेकिन कॉलम ऑर्डर
- 18. कई श्रेणियों के साथ पंक्तियों को कैसे ढूंढें, खंड और टाइमस्टैम्प> अब()
- 19. मुझे पंक्तियों की संख्या कैसे मिलती है जिनमें डुप्लिकेट कॉलम हैं?
- 20. PHP प्रतिस्थापन और लोअरकेस
- 21. अक्षर
- 22. सी # - प्रत्येक अक्षर को
- 23. एकाधिक पंक्तियों को कैसे हटाएं?
- 24. संपत्ति द्वारा संग्रह में तत्वों को कैसे ढूंढें?
- 25. पर्ल - लोअरकेस एक्सेंट लेटर्स
- 26. PostgreSQL लोअरकेस नाम बलों?
- 27. पायथन 2.7 लोअरकेस
- 28. लोअरकेस am/pm
- 29. नियमित अभिव्यक्ति लोअरकेस
- 30. ग्रोवी/Grails लोअरकेस
यह असंवेदनशील डीबी के मामले में काम नहीं करता है, देवराज गधवी उत्तर से COLLATE लैटिन 1_General_CS_AS जोड़ना होगा –
MySQL 5.6 में, 'लैटिन 1_General_CS_AS' ने एक त्रुटि उत्पन्न की। 'COLLATE latin1_general_cs' हालांकि काम किया। आपके द्वारा सामना किए जाने वाले मुद्दे पर अधिक जानकारी के लिए – kouton
@ कूटन संपादित [मेरा उत्तर] (http://stackoverflow.com/a/14646445/1184435)। –