Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में BOOL को INT में कैसे बदलें?


CAST() से BOOL से INT कन्वर्जन

MySQL में BOOL मान (TRUE/FALSE) को INTEGER (1/0) में बदलने के लिए CAST() फंक्शन का उपयोग करें।

उदाहरण

टेबल बनाएं:

mysql> CREATE TABLE convertBoolToIntDemo (
    -> isYoung BOOL
    -> );

डेटा इन्सर्ट करें:

mysql> INSERT INTO convertBoolToIntDemo VALUES(TRUE), (FALSE), (TRUE), (FALSE);

कच्चा डेटा (MySQL BOOL को TINYINT(1) के रूप में स्टोर करता है):

+---------+
| isYoung |
+---------+
| 1       |
| 0       |
| 1       |
| 0       |
+---------+

स्पष्ट कन्वर्जन के लिए क्वेरी

mysql> SELECT CAST(isYoung = 1 AS SIGNED INTEGER) FROM convertBoolToIntDemo;

परिणाम:

+-----------------------------------+
| CAST(isYoung = 1 AS SIGNED INTEGER) |
+-----------------------------------+
| 1                                 |
| 0                                 |
| 1                                 |
| 0                                 |
+-----------------------------------+

व्याख्या:

  • isYoung = 1 - बूलियन तुलना, TRUE/FALSE लौटाता है
  • CAST(... AS SIGNED INTEGER) - बूलियन को 1/0 इंटीजर में बदलता है

सरल विकल्प

चूंकि MySQL में BOOL वास्तव में TINYINT(1) ही है, ये भी काम करते हैं:

SELECT isYoung + 0 FROM convertBoolToIntDemo;        -- 1/0
SELECT CAST(isYoung AS UNSIGNED) FROM convertBoolToIntDemo;  -- 1/0
SELECT IF(isYoung, 1, 0) FROM convertBoolToIntDemo;    -- स्पष्ट

महत्वपूर्ण: MySQL 8.0+ में DESC या SHOW COLUMNS से BOOL कॉलम TINYINT(1) के रूप में दिखता है, क्योंकि BOOL, TINYINT(1) का समानार्थी (synonym) है।

  1. - MySQL में STR_TO_DATE() से तारीख फॉर्मेट बदलें

    VARCHAR तारीख-स्ट्रिंग को MySQL DATETIME में कनवर्ट करें 12/10/2019 12:34:00 जैसे स्ट्रिंग को मान्य DATETIME में बदलने के लिए STR_TO_DATE() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable2010 ( DueDate varchar(20) ); Query OK, 0 rows affected (0.68 sec) mysql> insert int

  1. - MySQL में STR_TO_DATE() से MM/YY को YYYY-MM-DD में कैसे बदलें?

    सिंटैक्स select str_to_date(concat(10/, due_date), %d/%m/%y) as original_date from yourTableName; उदाहरण insert into demo72 values(11/15), (02/20), (07/95); क्वेरी और परिणाम (दिन 10 मानकर) select str_to_date(concat(10/, due_date), %d/%m/%y) as original_date from demo72; +---------------+ | orig

  1. - C++ में int को string में कैसे कन्वर्ट करें?

    आप C से itoa फ़ंक्शन का उपयोग करके int को string में कन्वर्ट कर सकते हैं। उदाहरण #include<iostream> int main() {    int a = 10;    char *intStr = itoa(a);    string str = string(intStr);    cout << str; } आउटपुट यह आउटपुट देगा: 10 यह पूर्णांक को