समस्या:
आप SQL में कुछ टेक्स्ट को लोअरकेस में बदलना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में item
निम्नलिखित कॉलम में डेटा के साथ:id
, code
, और wood_type_used
. wood_type_used
. में डेटा में मामला असंगत है कॉलम। हम चाहते हैं कि सभी प्रकार की लकड़ी को लोअरकेस में प्रदर्शित किया जाए।
आईडी | कोड | लकड़ी_प्रकार_प्रयुक्त |
---|---|---|
1 | 000237PSH | पाइन |
2 | 000115एमसीएच | महोगनी |
3 | 000073BTB | सन्टी |
4 | 00068WBD | wAlnUt |
5 | 00055BSH | बिर्च |
समाधान:
हम LOWER()
. का उपयोग करेंगे समारोह:
SELECT code, LOWER(wood_type_used) FROM item;
क्वेरी छोटे अक्षरों में लिखे लकड़ी के प्रकार वाले आइटम लौटाती है:
कोड | लकड़ी_प्रकार_प्रयुक्त |
---|---|
000237PSH | पाइन |
000115एमसीएच | महोगनी |
000073BTB | सन्टी |
00068WBD | अखरोट |
00055BSH | सन्टी |
चर्चा:
जब भी आप अपने SQL डेटाबेस से कुछ टेक्स्ट डेटा को लोअरकेस में प्रदर्शित करना चाहते हैं, तो LOWER()
का उपयोग करें समारोह। यह फ़ंक्शन एक तर्क के रूप में एक स्ट्रिंग या कॉलम का नाम लेता है जिसका टेक्स्ट मान लोअरकेस में प्रदर्शित किया जाना है। यह मूल टेक्स्ट डेटा का एक संस्करण देता है जिसमें प्रत्येक अपरकेस अक्षर को इसके लोअरकेस समकक्ष से बदल दिया जाता है, और शेष वर्ण अपरिवर्तित रहते हैं।
हालांकि, एक समान तरीके से टेक्स्ट प्रदर्शित करना LOWER()
. का एकमात्र अनुप्रयोग नहीं है समारोह। आप इसे केस-असंवेदनशील प्रश्नों में भी मददगार पा सकते हैं, यानी ऐसे प्रश्न जिनमें यह अप्रासंगिक है कि आप जिस टेक्स्ट डेटा की तलाश कर रहे हैं वह मूल रूप से कैसे है।
उदाहरण के लिए, ऊपर दी गई हमारी उदाहरण तालिका में, आप बर्च की लकड़ी से बनी सभी वस्तुओं को खोजना चाहेंगे। चूंकि लकड़ी के प्रकार के मान लगातार आवरण नहीं होते हैं, बस उन सभी पंक्तियों के लिए क्वेरी करना जिनमें 'birch
' है ' में wood_type_used
कॉलम केवल एक पंक्ति लौटाएगा, भले ही सूचीबद्ध उत्पादों में से दो स्पष्ट रूप से सन्टी से बने हों। यह वह जगह है जहां LOWER()
में आता है:
SELECT * FROM item WHERE LOWER(wood_type_used) = ‘birch’;
इस तरह की क्वेरी wood_type_used
में 'बर्च' स्ट्रिंग के किसी न किसी रूप के साथ सभी पंक्तियों को वापस कर देगी कॉलम, इस पर ध्यान दिए बिना कि मूल डेटा में मानों को कैसे रखा गया है। आप जो टेक्स्ट खोज रहे हैं उसे लोअरकेस में भी लिखना न भूलें।