FirebirdSQL logo

Ein Hinweis zur Gleichheit

Important

Diese Anmerkung über Gleichheits- und Ungleichheits-Operatoren gilt überall in der Firebird SQL-Sprache.

Der “=”-Operator, welcher ausdrücklich in vielen Bedingungen verwendet wird, prüft nur Werte gegen Werte.Entsprechend dem SQL-Standard, ist NULL kein Wert und somit sind zwei NULLs weder gleich noch ungleich zueinander.Wenn Sie NULLs in Bedingungen vergleichen müssen, nutzen Sie den Operator IS NOT DISTINCT FROM.Dieser gibt wahr zurück, falls die Operanden den gleichen Wert besitzen oder beide NULL sind.

select *
  from A join B
  on A.id is not distinct from B.code

In Fällen in denen Sie gegen NULL innerhalb einer ungleich-Bedingung testen wollen, nutzen Sie IS DISTINCT FROM, nicht “<>”.Möchten Sie NULL unterschiedlich zu anderen Werten und zwei NULLs als gleich betrachten:

select *
  from A join B
  on A.id is distinct from B.code