2010-10-31 13 views

उत्तर

40

आप शायद COALESCE() समारोह का उपयोग करना चाहते हैं:

SELECT COALESCE(col, 0) FROM `table`; 

COALESCE() रिटर्न पहले गैर NULL सूची में NULL मूल्य, या अगर कोई गैर NULL मान हैं।

टेस्ट मामला:

CREATE TABLE `table` (id int, col int); 

INSERT INTO `table` VALUES (1, 100); 
INSERT INTO `table` VALUES (2, NULL); 
INSERT INTO `table` VALUES (3, 300); 
INSERT INTO `table` VALUES (4, NULL); 

परिणाम:

SELECT IFNULL(col, 0) FROM `table`; 

IFNULL(expr1, expr2) पहली अभिव्यक्ति देता है अगर यह नहीं अशक्त, और रिटर्न है:

+------------------+ 
| COALESCE(col, 0) | 
+------------------+ 
|    100 | 
|    0 | 
|    300 | 
|    0 | 
+------------------+ 
4 rows in set (0.00 sec) 
+0

धन्यवाद, डैनियल! – Francisc

2

तुम भी IFNULL() समारोह का उपयोग कर सकते दूसरी अभिव्यक्ति।

टेस्ट मामला:

CREATE TABLE `table` (id int, col int); 

INSERT INTO `table` VALUES (1, 100); 
INSERT INTO `table` VALUES (2, NULL); 
INSERT INTO `table` VALUES (3, 300); 
INSERT INTO `table` VALUES (4, NULL); 

परिणाम:

+----------------+ 
| IFNULL(col, 0) | 
+----------------+ 
|   100 | 
|    0 | 
|   300 | 
|    0 | 
+----------------+ 
4 rows in set (0.00 sec) 
संबंधित मुद्दे