Parce que NULL n'égale et n'égale rien, y compris NULL . 1 != NULL est évalué à Inconnu, pas Vrai; et comme Unknown n'est pas True, alors dans un WHERE la ligne n'est pas renvoyée.
Lorsqu'il s'agit de NULL valeurs, vous devez utiliser IS (NOT) NULL) :
UPDATE dbo.Students
SET Resultsstatus = 'Final'
WHERE Resultsstatus != 'Hidden'
OR Resultsstatus IS NULL;