mysql valeur NULL dans la CLAUSE where in
la façon de traiter avec NULL valeur dans mysql où dans CLAUSE
j'ai essayer comme
SELECT * FROM mytable WHERE field IN(1,2,3,NULL)
il ne fonctionne pas
seulement le travail comme :
SELECT * FROM mytable WHERE field IN(1,2,3) OR field IS NULL
comment puis-je obtenir un travail dans WHERE IN
? il est possible ?
OriginalL'auteur Haim Evgi | 2010-10-12
Vous devez vous connecter pour publier un commentaire.
Que selon ma compréhension, vous pouvez tirer sur chaque enregistrement avec 1,2,3 et de nulle valeur.
Je ne pense pas qu'il est possible de mettre la valeur null dans l'opérateur. Sa s'attend à des valeurs et la valeur null est bien.. pas une valeur. Si Vous avez vraiment de mettre le OU la valeur null pour obtenir le résultat souhaité.
OriginalL'auteur Emerion
Peut-être cette information à partir de la Manuel De Référence De MySQL aide:
OriginalL'auteur kraftan
Il y a une base de données MySQL fonction appelée
FUSIONNER
. Elle renvoie le premier non-NULL
valeur dans la liste, ouNULL
si il n'y a pas nonNULL
valeurs.Par exemple si vous exécutez
SELECT COALESCE(NULL, NULL, -1);
vous obtiendrez-1
de retour, car il est le premier non-NULL
valeur.Donc, l'astuce ici est d'envelopper votre expression dans
COALESCE
, et ajouter de la valeur du dernier paramètre que vous aussi ajouter dans votreIN
fonction.Il corresponde uniquement si le champ est 1, 2 ou 3, ou si le champ est
NULL
.OriginalL'auteur swenedo
Déclaration suivante devrait vous aider:
OriginalL'auteur Srikanth Kattam