sql >> Database >  >> RDS >> Mysql

mysql verschillende waarden zonder lege string en NULL

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 => ONWAAR
  • CON.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 => WAAR
  • CON.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 != '';


  1. MySQL SUM json-waarden gegroepeerd op json-sleutels

  2. Hoe e-mail of telefoon fuzzy matchen door Elasticsearch?

  3. De naam van een mysql-procedure wijzigen

  4. Wat is de SQL-verbindingsreeks die ik moet gebruiken om toegang te krijgen tot localhost\SQLEXPRESS met Windows-verificatie of SQL-verificatie?