MySQL: Vérifier si une Valeur est NULL
Question de Compi | 01/05/2021 à 12:30
Je voudrais vérifier si un champ ou le contenu d'un champ d'une colonne est NULL à l'aide de MySQL.
Pour cela, j'ai construit la requête suivante:
SELECT id, IFNULL(col, 0, col) FROM tab
Cette requête doit soit lire la valeur de la colonne «col» dans le cas où «col» n'est pas NULL ou 0 si elle est NULL.
Malheureusement, la requête ne fonctionne pas de cette manière. Je reçois toujours le message d'erreur suivant:
#1582 - Incorrect parameter count in the call to native function 'IFNULL'
Quelqu'un peut-il me dire comment réécrire cette requête de base de données afin qu'elle fonctionne correctement? Autant que je sache, le IF normal attend 3 paramètres, alors qu'est-ce que je fais de mal ici?
Sujets Connexes
MySQL: Sauts de Ligne dans MySQL
Conseil | 0 Commentaires
Convertir les Valeurs de Couleur RVB, CMJN, CMJ, HSV, TColor et XYZ
Tutoriel | 0 Commentaires
MySQL: SELECT 0 au lieu de NULL
Question | 4 Réponses
Script Batch: Arrêter Ordinateur Windows
Tutoriel | 4 Commentaires
MySQL: Comment utiliser IFNULL- Erreur: Mauvais Nombre de Paramètres
Question | 1 Réponse
MySQL: Comment vérifier si un champ est NULL ou vide
Question | 3 Réponses
MySQL: Supprimer Données de Table - Différence entre TRUNCATE, DELETE et DROP
Tutoriel | 0 Commentaires
Avis Important
Veuillez noter: Les contributions publiées sur askingbox.com sont des contributions d’utilisateurs et ne doivent pas remplacer les conseils d’un professionnel. Ils ne sont pas vérifiés par des indépendants et ne reflètent pas nécessairement l’opinion de askingbox.com. Apprendre encore plus.
Participer
Posez votre propre question ou écrivez votre propre article sur askingbox.com. Voici comment.
Il existe deux possibilités que vous pouvez utiliser pour modifier votre requête.
Vous pouvez écrire
ou vous pouvez modifier votre requête en:
La première requête utilise le IF normal de MySQL. Comme premier paramètre, vous spécifiez "col IS NULL", avec lequel vous vérifiez si "col" est NULL. En conséquence, en tant que deuxième et troisième paramètres, vous pouvez spécifier ce qui doit être renvoyé en fonction de la condition. C'est 0 si la condition est TRUE ("col" est NULL) ou le contenu de "col" dans le cas où la condition est FALSE ("col" n'est pas NULL).
Le deuxième exemple montre comment utiliser correctement IFNULL. IFNULL attend deux paramètres: D'abord la valeur à vérifier (dans votre cas le contenu de "col") et comme second paramètre la valeur qui doit être retournée si le premier paramètre est NULL. Sinon, le premier paramètre est renvoyé.
Bien sûr, la première méthode a toujours un avantage lorsque vous ne voulez pas simplement lire le contenu de la colonne correspondante, par exemple si vous souhaitez renvoyer un contenu alternatif ou si vous souhaitez modifier le contenu original de la colonne .
01/05/2021 à 18:45