MySQL में NULL मान जांचने के लिए IS NULL ऑपरेटर उपयोग करें। = तुलना ऑपरेटर काम नहीं करता क्योंकि NULL मान नहीं, अज्ञात है।
सही तरीका: IS NULL
mysql> SELECT * FROM Employee WHERE Salary IS NULL;
+----+-------+--------+
| ID | Name | Salary |
+----+-------+--------+
| 7 | Aryan | NULL |
| 8 | Vinay | NULL |
+----+-------+--------+
गलत तरीका: = NULL
mysql> SELECT * FROM employee WHERE salary = NULL;
Empty set (0.00 sec)
कोई परिणाम नहीं — क्योंकि NULL = NULL भी NULL (फाल्सी) होता है, TRUE नहीं।
संबंधित ऑपरेटर्स
| ऑपरेटर | अर्थ | उदाहरण |
|---|---|---|
IS NULL | NULL है? | WHERE col IS NULL |
IS NOT NULL | NULL नहीं है? | WHERE col IS NOT NULL |
<=> (NULL-safe equal) | NULL-सुरक्षित समानता | WHERE col <=> NULL (TRUE देता है) |
सर्वोत्तम अभ्यास
- हमेशा
IS NULL/IS NOT NULLउपयोग करें = NULLया!= NULLकभी न लिखेंCOALESCE(col, 'default')से NULL को डिफ़ॉल्ट से बदलेंIFNULL(col, 'default')दो-तर्क विकल्प