MySQL: Typecasting NULLE à 0
Supposons le tableau suivant (par exemple, à la suite de plusieurs inner join consolidés):
id | column_1 | column_2
------------------------
1 | 1 |
2 | 2 | 2
3 | | 3
Qui, par exemple, vous pouvez obtenir à partir de l'énoncé suivant:
select a.id, t1.column_1, t2.column_2
from a
left join t1 on a.id = t1.id
left join t2 on a.id = t2.id
Maintenant, si je voudrais revenir sur t1.column_1 et t2.column_2 comme suit
select
a.id,
t1.column_1,
t2.column_2,
(t1.column_1 + t2.column_2) as cumulated
from a
left join t1 on a.id = t1.id
left join t2 on a.id = t2.id
La reslut présentera comme suit:
id | column_1 | column_2 | cumulated
------------------------------------
1 | 1 | NULL | NULL
2 | 2 | 2 | 4
3 | NULL | 3 | NULL
Ma question est en fait: est-il un moyen de transtypage NULLE en 0 afin de faire un peu de maths?
J'ai essayé CONVERT(t1.column_1, SIGNED)
et CAST(t1.column_1 as SIGNED)
, mais un NULL
reste un NULL
.
Vous devez vous connecter pour publier un commentaire.
Utilisation
IFNULL(column, 0)
pour convertir la valeur de la colonne à zéro. Sinon, le CONFLUENT de la fonction sera de faire la même chose, sauf (1)COALESCE
est ANSI-conforme,IFNULL
n'est pas, et (2)COALESCE
prend un nombre quelconque de colonnes/valeurs et retourne la première valeur non nulle est passé.