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

MySQL SELECT में IF() का उपयोग करके लौटाएं TRUE/FALSE यदि दूसरा फ़ील्ड स्ट्रिंग रखता है

यदि दूसरा फ़ील्ड स्ट्रिंग रखता है तो TRUE या FALSE लौटाने के लिए IF() का उपयोग करें। आइए पहले एक टेबल बनाते हैं:

mysql> create table DemoTable ( 
    FirstName varchar(100), 
    LastName varchar(100) ); 
Query OK, 0 rows affected (1.28 sec)

इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें:

mysql> insert into DemoTable values('Chris','Brown'); 
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable values('David','Miller'); 
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable values('Adam','Smith'); 
Query OK, 1 row affected (0.11 sec)

सेलेक्ट स्टेटमेंट का उपयोग करके टेबल से सभी रिकॉर्ड प्रदर्शित करें:

mysql> select * from DemoTable;

यह निम्नलिखिक आउटपुट देगा:

+-----------+----------+
| FirstName | LastName |
+-----------+----------+
| Chris     | Brown    |
| David     | Miller   |
| Adam      | Smith    |
+-----------+----------+
3 rows in set (0.00 sec)

MySQL SELECT में TRUE/FALSE लौटाने की क्वेरी (स्ट्रिंग "Miller" की जांच)

mysql> select if(LastName='Miller','Yes','No') AS LastName, FirstName from DemoTable;

यह निम्नलिखिक आउटपुट देगा:

+----------+-----------+
| LastName | FirstName |
+----------+----------+
| No       | Chris     |
| Yes      | David     |
| No       | Adam      |
+----------+----------+
3 rows in set (0.00 sec)

व्याख्या

  • IF(condition, true_value, false_value) शर्त के आधार पर मान लौटाता है
  • LastName='Miller' जांचता है कि क्या अंतिम नाम 'Miller' है
  • सच तो 'Yes', झूठ तो 'No' लौटाता है
  • कॉलम उपनाम AS LastName परिणाम कॉलम का नाम बदलता है

बूलियन परिणाम के लिए

SELECT IF(LastName='Miller', TRUE, FALSE) AS HasMiller, FirstName FROM DemoTable;

यह 1 (TRUE) या 0 (FALSE) लौटाएगा।

CASE विकल्प

SELECT CASE WHEN LastName='Miller' THEN 'Yes' ELSE 'No' END AS HasMiller, FirstName FROM DemoTable;
  1. - क्या MySQL में एस्टेरिस्क (*) वाले फील्ड नाम को चुन सकते हैं?

    उत्तर नहीं, सीधे नहीं। एस्टेरिस्क (*) SQL में विशेष वर्ण है (सभी कॉलम, गुणा, वाइल्डकार्ड)। फील्ड नाम में विशेष वर्ण होने पर बैकटिक्स (`) में घेरना आवश्यक है। उदाहरण: एस्टेरिस्क वाले कॉलम नाम के साथ टेबल बनाना ); Query OK, 0 rows affected (2.03 sec) डेटा डालना INSERT INTO DemoTable(`Name*`) VALUE

  1. - MySQL में TRUE/FALSE रिकॉर्ड को 0/1 के रूप में प्रदर्शित करें

    समाधान कॉलम को BOOLEAN (TINYINT(1) का पर्याय) के रूप में परिभाषित करें। उदाहरण टेबल बनाएं: ); डेटा डालें: INSERT INTO DemoTable2035 (Name, isMarried) VALUES (Chris, TRUE), (David, FALSE), (Bob, TRUE), (Mike, FALSE); परिणाम +----+-------+-----------+ | Id | Name | isMarried | +----+-------+----

  1. - पायथन में कैसे जांचें कि स्ट्रिंग में केवल दशमलव कैरेक्टर्स हैं?

    स्ट्रिंग क्लास में isdigit() नामक एक मेथड होता है जो सच लौटाता है यदि स्ट्रिंग में सभी कैरेक्टर अंक हैं और कम से कम एक कैरेक्टर है, अन्यथा गलत। आप इसे निम्न प्रकार से कॉल कर सकते हैं: >>> 12345.isdigit() True >>> 12345a.isdigit() False लेकिन यह फ्लोटिंग-पॉइंट नंबर्स के लिए विफल होग