MySQL. Attention au CONCAT avec argument NULL !

Problématique

Un grand classique mais c’est toujours là-dessus qu’on se plante … Vous voulez dans un champ concaténer, admettons, titre, prénom et nom. Mais comme tout le monde n’est pas docteur, le champ « docteur » est nullable et vous ne vous êtes pas privés.

Vous faites un gros update genre :

UPDATE matable SET nomcomplet=CONCAT (titre, prenom, nom)

et, amère surprise, vous obtenez des champs « nomcomplet » vides.

Le pire est lorsque, comme dans le cas de votre serviteur, vous avez négligemment laissé des champs « titre » à NULL et d’autres blancs (= »)

Solution

Alors on se le tient pour dit, et quelqu’un aurait pu me le rappeler, j’avais oublié, que :

Si un des arguments du CONCAT est NULL, CONCAT renvoie NULL

ET LE TOUR EST JOUÉ ! ALORS ON DIT MERCI QUI ?

POUR EN SAVOIR PLUS : les derniers livres parus sur MySQL sont sur

DerniersParus.com » MySQL

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *