Je enige probleem is dat je OR gebruikt in plaats van AND.
Laten we eens kijken naar het geval waarin de waarde NULL is:
CON.EMAILADDRESS IS NOT NULL=> ONWAARCON.EMAILADDRESS != ' '=> NULL
ONWAAR OF NULL => NULL. Aangezien de criteria niet resulteren in TRUE, selecteert u geen NULL's.
En als de waarde een lege string '', ' ', of welke lengte dan ook is:
CON.EMAILADDRESS IS NOT NULL=> WAARCON.EMAILADDRESS != ' '=> ONWAAR
WAAR OF ONWAAR => WAAR. U selecteert de lege string.
Ik veronderstel dat dit je in de war bracht:ondanks dat je per ongeluk OR hebt gebruikt in plaats van AND, heb je nog steeds enkele lege strings verwijderd, maar niet allemaal.
Dus:
WHERE CON.EMAILADDRESS IS NOT NULL AND CON.EMAILADDRESS != ' ';
Of, zoals elke string != '' kan niet NULL zijn (NULL != '' => NULL, niet WAAR), gewoon:
WHERE CON.EMAILADDRESS != '';