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

क्या MySQL में C/C++ जैसा टर्नरी ऑपरेटर है?


MySQL में CASE स्टेटमेंट का उपयोग करके टर्नरी ऑपरेशन करना

MySQL में C/C++ जैसा ?: टर्नरी ऑपरेटर नहीं है, लेकिन CASE WHEN ... THEN ... ELSE ... END से समान कार्यक्षमता प्राप्त कर सकते हैं।

C/C++ टर्नरी ऑपरेटर

result = (X > 1 && (X - Y) < 0) ? X : (X - Y);

MySQL समतुल्य: CASE स्टेटमेंट

SELECT CASE
    WHEN tbl.X > 1 AND (tbl.X - tbl.Y) < 0 THEN 0
    ELSE (tbl.X - tbl.Y)
END AS Result
FROM TernaryOperationDemo tbl;

उदाहरण

टेबल बनाएं:

mysql> create table TernaryOperationDemo (
    -> X int,
    -> Y int
    -> );

डेटा डालें:

mysql> insert into TernaryOperationDemo values(10, 5);
mysql> insert into TernaryOperationDemo values(5, 15);
mysql> insert into TernaryOperationDemo values(20, 15);
mysql> insert into TernaryOperationDemo values(15, 25);
mysql> insert into TernaryOperationDemo values(10, -11);

टर्नरी लॉजिक लागू करें:

mysql> select case when tbl.X > 1 AND (tbl.X - tbl.Y) < 0 THEN 0 ELSE (tbl.X - tbl.Y) END AS Result
    -> from TernaryOperationDemo tbl;

परिणाम:

+--------+
| Result |
+--------+
|      5 |
|      0 |
|      5 |
|      0 |
|     21 |
+--------+

सरल CASE सिंटैक्स

-- सरल CASE (मान की तुलना)
CASE column
    WHEN value1 THEN result1
    WHEN value2 THEN result2
    ELSE default_result
END

-- खोज CASE (शर्तों की तुलना) - अधिक लचीला
CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ELSE default_result
END

MySQL 8.0+ में IF() फ़ंक्शन

सरल शर्तों के लिए IF(condition, true_value, false_value) का उपयोग कर सकते हैं:

SELECT IF(X > 1 AND (X - Y) < 0, 0, X - Y) AS Result FROM TernaryOperationDemo;
  1. - MySQL में NOT IN से मान न होने वाली पंक्तियां चुनें

    NOT IN ऑपरेटर से विशिष्ट मानों को बाहर रखें कुछ मानों को छोड़कर बाकी पंक्तियां प्राप्त करने के लिए NOT IN() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1991 ( StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY, StudentName varchar(20) ); Query OK, 0 rows affected (0.61 se

  1. - MySQL में टेबल के अस्तित्व का पता कैसे लगाएं

    समाधान INFORMATION_SCHEMA.TABLES का उपयोग करें। सिंटैक्स SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = yourTableName; उदाहरण टेबल बनाएं: ); जांच क्वेरी WHERE TABLE_SCHEMA = DATABASE() AND TABLE_NAME = DemoTable2032; परिणाम +---------------+ |

  1. - C/C++ में c=a+++b ऑपरेशन का अर्थ

    c = a+++b; अभिव्यक्ति **मैक्सिमल मंच (Maximal Munch)** नियम के अनुसार पार्स होती है: c = a++ + b; पार्सिंग नियम लेक्सर सबसे लंबा वैध टोकन बनाता है: a++ (पोस्ट-इन्क्रीमेंट) फिर + फिर b। यह c = a + ++b (प्री-इन्क्रीमेंट) **नहीं** है। उदाहरण #include <iostream> using namespace std; int main