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

MySQL IN() फंक्शन कब NULL वापस करता है?


निम्न दो मामले हैं जब MySQL IN() फंक्शन परिणाम के रूप में NULL वापस करता है:

केस-1 - जब बाईं ओर का एक्सप्रेशन NULL हो

यदि बाईं ओर का एक्सप्रेशन NULL है तो IN() फंक्शन NULL वापस करेगा। निम्न उदाहरण इसे दर्शाएगा:

mysql> Select NULL IN (1,2,3,4,10);
+----------------------+
| NULL IN (1,2,3,4,10) |
+----------------------+
|       NULL           |
+----------------------+
1 row in set (0.00 sec)

केस-2 - जब सूची में एक एक्सप्रेशन NULL हो और कोई मेल न मिले

यदि यह कोई मेल नहीं ढूंढता और सूची में एक एक्सप्रेशन NULL है तो IN() फंक्शन NULL वापस करेगा। यदि मेल होता और सूची में एक एक्सप्रेशन NULL होता, तो यह आउटपुट के रूप में 1 वापस करता। निम्न उदाहरण इसे दर्शाएगा:

mysql> Select 10 IN (NULL,11,12);
+--------------------+
| 10 IN (NULL,11,12) |
+--------------------+
|       NULL         |
+--------------------+
1 row in set (0.00 sec)

mysql> Select 10 IN (NULL,11,12,10);
+-----------------------+
| 10 IN (NULL,11,12,10) |
+-----------------------+
|         1             |
+-----------------------+
1 row in set (0.00 sec)

  1. - MySQL NULL को 0 में बदलें (IFNULL/COALESCE)

    IFNULL() या COALESCE() से NULL को 0 बनाएं MySQL में NULL मान को 0 में बदलने के लिए IFNULL() (MySQL-विशिष्ट) या COALESCE() (ANSI मानक) फ़ंक्शन का उपयोग करें। सिंटैक्स -- IFNULL (2 तर्क) SELECT IFNULL(yourColumnName, 0) AS alias FROM yourTableName; -- COALESCE (2+ तर्क, ANSI मानक) SELECT COALESCE(yo

  1. - MySQL में DATE_FORMAT के लिए NULL इनपुट पर NULL लौटाना - IF फ़ंक्शन का उपयोग

    समस्या MySQL में DATE_FORMAT(NULL, ...) NULL लौटाता है, लेकिन कभी-कभी स्पष्ट नियंत्रण या अलग डिफ़ॉल्ट मान की आवश्यकता होती है। समाधान: IF() फ़ंक्शन के साथ सशर्त फॉर्मेटिंग IF() का उपयोग करके NULL मान की जांच करें और तदनुसार संभालें। सिंटैक्स SELECT IF(yourDateColumn, DATE_FORMAT(yourDateColumn, %d

  1. - MySQL में रिकॉर्ड NULL होने पर नए कॉलम में 0 लौटाना

    इसके लिए CASE स्टेटमेंट का उपयोग कर सकते हैं। उदाहरण टेबल बनाएं: mysql> create table DemoTable703 (Price int); Query OK, 0 rows affected (0.46 sec) रिकॉर्ड डालें: mysql> insert into DemoTable703 values(102); Query OK, 1 row affected (0.27 sec) mysql> insert into DemoTable703 values(NULL);