GREATEST() फ़ंक्शन अपने तर्कों में से सबसे बड़ा मान लौटाता है। यदि कोई भी तर्क NULL है, तो परिणाम NULL होता है। इस गुण का उपयोग करके किसी भी कॉलम में NULL वाली पंक्तियाँ खोज सकते हैं।
टेबल बनाएं
mysql> CREATE TABLE DemoTable1862 (
Value1 INT, Value2 INT, Value3 INT, Value4 INT
);
डेटा डालें
mysql> INSERT INTO DemoTable1862 VALUES(43, 34, 56, 42); mysql> INSERT INTO DemoTable1862 VALUES(NULL, 78, 65, NULL); mysql> INSERT INTO DemoTable1862 VALUES(110, NULL, 78, NULL);
किसी भी कॉलम में NULL वाली पंक्तियाँ
mysql> SELECT * FROM DemoTable1862
WHERE GREATEST(Value1, Value2, Value3, Value4) IS NULL;
आउटपुट:
+--------+--------+--------+--------+ | Value1 | Value2 | Value3 | Value4 | +--------+--------+--------+--------+ | NULL | 78 | 65 | NULL | | 110 | NULL | 78 | NULL | +--------+--------+--------+--------+
व्याख्या
- पंक्ति 1: सभी गैर-NULL → GREATEST = 56 → IS NULL असत्य → नहीं चुनी गई।
- पंक्ति 2: Value1 NULL → GREATEST = NULL → IS NULL सत्य → चुनी गई।
- पंक्ति 3: Value2 NULL → GREATEST = NULL → चुनी गई।
विकल्प (अधिक पठनीय)
WHERE Value1 IS NULL OR Value2 IS NULL OR Value3 IS NULL OR Value4 IS NULL
COALESCE ट्रिक (पहला गैर-NULL)
WHERE COALESCE(Value1, Value2, Value3, Value4) IS NULL
यह तभी सत्य होता है जब सभी कॉलम NULL हों (GREATEST के विपरीत)।
सारांश
| शर्त | अर्थ |
|---|---|
GREATEST(...) IS NULL | कम से कम एक NULL |
COALESCE(...) IS NULL | सभी NULL |
col IS NULL OR ... | कम से कम एक NULL (स्पष्ट) |