Mettre à jour les colonnes avec des valeurs Null
J'ai essayé la mise à jour d'un tableau comme suit:
update userloginstats set logouttime = sysdate where logouttime = null;
Il n'a pas de mise à jour les colonnes contenant des valeurs null. Quel est le problème?
- <résister à la tentation d'en ajouter encore une autre réponse que dit exactement la même chose...>
Vous devez vous connecter pour publier un commentaire.
Changer de
NULL
est une valeur spéciale et nous ne pouvons pas utiliser l'habituel=
opérateur avec elle.De la Documentation Oracle pour les NULS:
Vous ne pouvez pas comparer avec les valeurs Null =.
Utiliser ceci:
logouttime is null
, pas= null
.null
n'est jamais égal à rien, même pas lui-même. Ainsi, l'opérateuris
.Vous devez utiliser
is null
pas= null
Pour les valeurs null, vous devez utiliser "EST NULL" ou "n'EST PAS NULL" plutôt que l'opérateur=. C'est parce que la valeur null est techniquement ni vrai ou faux, c'est plutôt l'absence de valeur de toute façon.
La plupart des langages de programmation généralement associé null avec de faux pour des raisons de commodité (et donc de permettre l'utilisation de l'opérateur=), mais SQL prend une approche plus puriste, à tort ou à raison.