NULL değerini 0'a döndüren bir şeyi nasıl yapabilirim?MySQL Cast NULL tamsayı 0
Bu benimki sorgunuz buysa: select col from table;
Bunu yapmanın doğru yolu bu olurdu: select cast(col as unsigned integer) from table;
?
Teşekkür ederiz.
NULL değerini 0'a döndüren bir şeyi nasıl yapabilirim?MySQL Cast NULL tamsayı 0
Bu benimki sorgunuz buysa: select col from table;
Bunu yapmanın doğru yolu bu olurdu: select cast(col as unsigned integer) from table;
?
Teşekkür ederiz.
Muhtemelen COALESCE()
fonksiyonunu kullanmak isteyeceğinizi:
SELECT COALESCE(col, 0) FROM `table`;
COALESCE()
döner olmayan ilk NULL
listesindeki değeri veya NULL
hiçbir olmayan NULL
amaç yokmuş.
Test durumda:
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);
Sonuç: öyle değil null, başka döner eğer
SELECT IFNULL(col, 0) FROM `table`;
IFNULL(expr1, expr2)
ilk ifadeyi verir:
+------------------+
| COALESCE(col, 0) |
+------------------+
| 100 |
| 0 |
| 300 |
| 0 |
+------------------+
4 rows in set (0.00 sec)
Ayrıca IFNULL()
işlevini kullanabilirsiniz ikinci ifade.
Test durumda:
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);
Sonuç:
+----------------+
| IFNULL(col, 0) |
+----------------+
| 100 |
| 0 |
| 300 |
| 0 |
+----------------+
4 rows in set (0.00 sec)
, Daniel teşekkür ederiz! – Francisc