Je voudrais limiter ma requête pour n'afficher que les lignes où un certain champ n'est pas vide. J'ai trouvé ce fil où quelqu'un a posé la même question et m'a dit d'utiliser IS NOT NULL
. J'ai essayé, mais je reçois toujours des lignes où le champ est vide.
Quelle est la bonne façon de procéder? Null est-il la même chose que Empty dans SQL/MySQL?
Ma requête, si vous êtes intéressé est: SELECT * FROM records WHERE (party_Zip='49080' OR party_Zip='49078' OR party_Zip='49284' ) AND partyfn IS NOT NULL
Lors de la comparaison d'une valeur NULL
, le résultat devient dans la plupart des cas NULL
et a donc le même résultat que 0
(La valeur FAUX dans MySQL) dans WHERE
et HAVING
.
Dans votre exemple donné, vous n'avez pas besoin d'inclure IS NOT NULL
. Utilisez simplement party_Zip IN ('49080', '49078', '49284')
. NULL
ne peut pas être 49080, 49078, 49284 ou tout autre nombre ou chaîne.
Cependant, ce à quoi vous devez penser, c'est lorsque vous recherchez des valeurs vides. !party_Zip
Ne renverra pas TRUE
/1
Si la valeur est NULL
. Utilisez plutôt OR columns IS NULL
Ou !COALESCE(party_Zip, 0)
Je l'ai eu en utilisant AND (partyfn IS NOT NULL AND partyfn != '')