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