MySQL boolean
कॉलम के सत्य मूल्य की जांच करने के 2 तरीके प्रदान करता है, वे column_variable = true
और column_variable is true
हैं। मैंने एक टेबल बनाया, कुछ मान & डाले गए कुछ select
कथनों की कोशिश की। यहाँ परिणाम हैं:MySQL: "= true" बनाम "सच है" BOOLEAN पर। यह किसका उपयोग करने के लिए सलाह दी जाती है? और कौन सा विक्रेता स्वतंत्र है?
mysql> insert into bool_test(flag) values (true),(false),(9),(null);
mysql> select * from bool_test;
+----+------+
| id | flag |
+----+------+
| 1 | 1 |
| 2 | 0 |
| 3 | 9 |
| 4 | NULL |
यहाँ सब select
प्रश्नों मैं इस मेज पर गोली चलाई हैं::
mysql> create table bool_test (
-> id int unsigned not null auto_increment primary key,
-> flag boolean);
Query OK, 0 rows affected (0.13 sec)
तब मैं 4 पंक्तियों डाला:
सबसे पहले मैं इस तालिका बनाई
mysql> select * from bool_test where flag;
+----+------+
| id | flag |
+----+------+
| 1 | 1 |
| 3 | 9 |
+----+------+
2 rows in set (0.49 sec)
mysql> select * from bool_test where flag = true;
+----+------+
| id | flag |
+----+------+
| 1 | 1 |
+----+------+
1 row in set (0.02 sec)
mysql> select * from bool_test where flag is true;
+----+------+
| id | flag |
+----+------+
| 1 | 1 |
| 3 | 9 |
+----+------+
2 rows in set (0.04 sec)
mysql> select * from bool_test where flag = false;
+----+------+
| id | flag |
+----+------+
| 2 | 0 |
+----+------+
1 row in set (0.01 sec)
mysql> select * from bool_test where flag is false;
+----+------+
| id | flag |
+----+------+
| 2 | 0 |
+----+------+
1 row in set (0.00 sec)
mysql> select * from bool_test where !flag;
+----+------+
| id | flag |
+----+------+
| 2 | 0 |
+----+------+
1 row in set (0.00 sec)
mysql> select * from bool_test where not flag;
+----+------+
| id | flag |
+----+------+
| 2 | 0 |
+----+------+
1 row in set (0.00 sec)
mysql> select * from bool_test where flag != true;
+----+------+
| id | flag |
+----+------+
| 2 | 0 |
| 3 | 9 |
+----+------+
2 rows in set (0.00 sec)
mysql> select * from bool_test where flag is not true;
+----+------+
| id | flag |
+----+------+
| 2 | 0 |
| 4 | NULL |
+----+------+
2 rows in set (0.00 sec)
mysql> select * from bool_test where flag != false;
+----+------+
| id | flag |
+----+------+
| 1 | 1 |
| 3 | 9 |
+----+------+
2 rows in set (0.04 sec)
mysql> select * from bool_test where flag is not false;
+----+------+
| id | flag |
+----+------+
| 1 | 1 |
| 3 | 9 |
| 4 | NULL |
+----+------+
3 rows in set (0.00 sec)
मेरा प्रश्न है: is
/is not
और =
/!=
true
/false
के साथ उपयोग करने के लिए सलाह दी जाती है? विक्रेता कौन सा स्वतंत्र है?
'जहां ध्वज' सही तरीके से काम करता है। –
@ypercube सूचक के लिए धन्यवाद, मैंने इसे प्रश्न में संपादित किया है। –
मैं परीक्षण चलाता हूं, 'जहां 1 = 1' ठीक काम करता है,' कहां 1' नहीं है। पागल। मेरी दुनिया आज दुखी हो गई। –