IF() फंक्शन से बूलियन को +1/-1 में मैप करना
बूलियन कॉलम (TRUE/FALSE या 1/0) को धनात्मक (+1) और ऋणात्मक (-1) चिह्न में बदलने के लिए IF() फंक्शन का उपयोग करें।
सिंटैक्स
SELECT IF(yourColumnName, 1, -1) FROM yourTableName;
टेबल और डेटा
mysql> CREATE TABLE DemoTable (
isMarried BOOLEAN
);
Query OK, 0 rows affected (0.60 sec)
mysql> INSERT INTO DemoTable VALUES(TRUE); Query OK, 1 row affected (0.21 sec) mysql> INSERT INTO DemoTable VALUES(FALSE); Query OK, 1 row affected (0.10 sec) mysql> INSERT INTO DemoTable VALUES(FALSE); Query OK, 1 row affected (0.10 sec) mysql> INSERT INTO DemoTable VALUES(TRUE); Query OK, 1 row affected (0.36 sec)
सभी रिकॉर्ड (बूलियन 1/0 के रूप में दिखते हैं)
mysql> SELECT * FROM DemoTable;
+-----------+ | isMarried | +-----------+ | 1 | | 0 | | 0 | | 1 | +-----------+ 4 rows in set (0.00 sec)
बूलियन को +1/-1 में बदलना
mysql> SELECT IF(isMarried, 1, -1) FROM DemoTable;
परिणाम:
+--------------------+ | if(isMarried,1,-1) | +--------------------+ | 1 | | -1 | | -1 | | 1 | +--------------------+ 4 rows in set (0.00 sec)
व्याख्या: MySQL में BOOLEAN = TINYINT(1)। TRUE = 1, FALSE = 0। IF(isMarried, 1, -1) का अर्थ: यदि isMarried सत्य (गैर-शून्य) तो 1, अन्यथा -1।
उपयोग: गणितीय गणनाओं, स्कोरिंग, या चार्टिंग में जहां बूलियन को +1/-1 भार चाहिए।