Come posso trasmettere qualcosa che restituisce NULL a 0?MySQL Trasmetti NULL all'intero 0
Se questa è la mia domanda: select col from table;
questo sarebbe il modo giusto per farlo: select cast(col as unsigned integer) from table;
?
Grazie.
Come posso trasmettere qualcosa che restituisce NULL a 0?MySQL Trasmetti NULL all'intero 0
Se questa è la mia domanda: select col from table;
questo sarebbe il modo giusto per farlo: select cast(col as unsigned integer) from table;
?
Grazie.
si sarebbe probabilmente desidera utilizzare la funzione COALESCE()
:
SELECT COALESCE(col, 0) FROM `table`;
COALESCE()
restituisce il primo valore di NULL
non nella lista, o NULL
se non ci sono non NULL
valori.
prova:
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);
Risultato:
+------------------+
| COALESCE(col, 0) |
+------------------+
| 100 |
| 0 |
| 300 |
| 0 |
+------------------+
4 rows in set (0.00 sec)
È anche possibile utilizzare la funzione IFNULL()
:
SELECT IFNULL(col, 0) FROM `table`;
IFNULL(expr1, expr2)
restituisce la prima espressione se è non nullo, altrimenti restituisce la seconda espressione. caso
prova:
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);
Risultato:
+----------------+
| IFNULL(col, 0) |
+----------------+
| 100 |
| 0 |
| 300 |
| 0 |
+----------------+
4 rows in set (0.00 sec)
Grazie, Daniel! – Francisc