कभी-कभी आपको MySQL में डेटा को बूलियन के रूप में डालने की आवश्यकता हो सकती है। यहाँ MySQL में बूलियन के रूप में कास्ट करने का तरीका बताया गया है। हम देखेंगे कि स्ट्रिंग को बूलियन के रूप में और इंट को बूलियन के रूप में कैसे डाला जाए।
MySQL में बूलियन के रूप में कैसे कास्ट करें
यहाँ MySQL में बूलियन के रूप में कास्ट करने के चरण दिए गए हैं। MySQL आपको CAST और CONVERT फ़ंक्शन का उपयोग करके डेटा डालने की अनुमति देता है। हालांकि, उनमें से कोई भी बॉक्स से बाहर बूलियन डेटा प्रकार में रूपांतरण का समर्थन नहीं करता है। आपको इसके बजाय UNSIGNED INT के रूप में डालना होगा। आइए स्ट्रिंग को बूलियन के रूप में कास्ट करने के लिए एक उदाहरण देखें
बोनस पढ़ें :MySQL CAST बनाम CONVERT
स्ट्रिंग को बूलियन के रूप में कैसे कास्ट करें
मान लें कि आपके पास निम्न स्ट्रिंग कॉलम है उत्पाद जिसमें स्ट्रिंग मान शामिल हैं
mysql> select product from product_orders; +---------+ | product | +---------+ | A | | B | | C | | A | | B | | C | | A | | B | | C | +---------+
मान लें कि आप स्ट्रिंग को बूलियन में बदलना चाहते हैं जहां उत्पाद =सही है अगर यह एक और गलत है, तो यहां स्ट्रिंग को बूलियन के रूप में डालने के लिए SQL क्वेरी है।
mysql> select cast(product='A' as unsigned) from product_orders; +-------------------------------+ | cast(product='A' as unsigned) | +-------------------------------+ | 1 | | 0 | | 0 | | 1 | | 0 | | 0 | | 1 | | 0 | | 0 | +-------------------------------+
उपरोक्त प्रश्न में, कृपया ध्यान दें,
1. हम अहस्ताक्षरित डेटा प्रकार में कास्ट करते हैं क्योंकि न तो CAST और न ही CONVERT फ़ंक्शन बूलियन डेटा प्रकार में सीधे रूपांतरण का समर्थन करते हैं
2. MySQL बूलियन डेटा को टिनिंट (1) यानी 1 या 0 के रूप में सहेजता है, न कि सही/गलत मान। चूंकि टिनिंट को आसानी से अहस्ताक्षरित int के रूप में सहेजा जा सकता है, इसलिए हम स्ट्रिंग को अहस्ताक्षरित int में परिवर्तित करते हैं।
3. हम कास्ट के अंदर एक सशर्त अभिव्यक्ति (उत्पाद ='ए') का उपयोग करते हैं जिसका आउटपुट बूलियन है। आप CAST या CONVERT का उपयोग करके सीधे स्ट्रिंग कॉलम को बूलियन में नहीं बदल सकते। यदि आप ऐसा करने का प्रयास करते हैं तो आपको यह आउटपुट मिलेगा।
mysql> select cast(product as unsigned) from product_orders; +---------------------------+ | cast(product as unsigned) | +---------------------------+ | 0 | | 0 | | 0 | | 0 | | 0 | | 0 | | 0 | | 0 | | 0 | +---------------------------+
आप अपनी आवश्यकता के अनुसार सशर्त अभिव्यक्ति को संशोधित कर सकते हैं। उदाहरण के लिए, यदि आप उत्पाद =A या उत्पाद =B को सत्य के रूप में और शेष को असत्य के रूप में कनवर्ट करना चाहते हैं, तो यहां SQL क्वेरी है।
mysql> select cast(product='A' or product='B' as unsigned) from product_orders; +----------------------------------------------+ | cast(product='A' or product='B' as unsigned) | +----------------------------------------------+ | 1 | | 1 | | 0 | | 1 | | 1 | | 0 | | 1 | | 1 | | 0 | +----------------------------------------------+
या आप समान परिणाम प्राप्त करने के लिए निम्न क्वेरी का भी उपयोग कर सकते हैं।
mysql> select cast(product in ('A','B') as unsigned) from product_orders;
इंट को बूलियन के रूप में कैसे कास्ट करें
मान लें कि आपके पास निम्नलिखित इंट कॉलम है राशि आपकी तालिका में।
mysql> select amount from product_orders; +--------+ | amount | +--------+ | 250 | | 150 | | 200 | | 250 | | 210 | | 125 | | 350 | | 225 | | 150 | +--------+
मान लें कि आप int को बूलियन में बदलना चाहते हैं जहां राशि<200 सही है, अन्यथा गलत है। बूलियन के रूप में int को कास्ट करने के लिए यहां SQL क्वेरी है।
mysql> select cast(amount<200 as unsigned) from product_orders; +------------------------------+ | cast(amount<200 as unsigned) | +------------------------------+ | 0 | | 1 | | 0 | | 0 | | 0 | | 1 | | 0 | | 0 | | 1 | +------------------------------+
आप उपरोक्त प्रत्येक प्रश्न के लिए MySQL CAST के स्थान पर MySQL Convert का भी उपयोग कर सकते हैं। यहाँ MySQL CONVERT का उपयोग करके उपरोक्त क्वेरी का एक उदाहरण दिया गया है।
mysql> select convert(amount<200, unsigned) from product_orders;
उम्मीद है कि अब आप आसानी से MySQL में बूलियन के रूप में कास्ट कर सकते हैं।
Ubiq मिनटों में डेटा को विज़ुअलाइज़ करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!