Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL बूलियन के रूप में कास्ट करें

कभी-कभी आपको 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 मिनटों में डेटा को विज़ुअलाइज़ करना और रीयल-टाइम डैशबोर्ड में मॉनिटर करना आसान बनाता है। इसे आज ही आजमाएं!

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. UTF-8 वर्ण एन्कोडिंग लड़ाई json_encode ()

  2. MySQL सर्वर के प्रदर्शन की निगरानी के लिए Innotop स्थापित करें

  3. Mytop - Linux में MySQL/MariaDB प्रदर्शन की निगरानी के लिए एक उपयोगी उपकरण

  4. INNER JOIN ON बनाम WHERE क्लॉज

  5. पेरकोना लाइव डबलिन - इवेंट रिकैप और हमारे सत्र