Kann für eine einzelne Verbindung oder für PUBLIC gesetzt werden. Sie müssen das SET ANY PUBLIC OPTION-Systemprivileg haben,
um diese Option für PUBLIC oder für andere Benutzer oder Rollen setzen zu können.
Diese Option ist in erster Linie zur Kompatibilität mit Transact-SQL (Adaptive Server Enterprise) implementiert. Die Option
ansinull beeinflusst das Ergebnis von Vergleichsprädikaten mit NULL-Konstanten und wirkt sich auf Warnungen aus, die für Gruppenabfragen
über NULL ausgegeben werden.
Wenn die ansinull-Option auf "On" gesetzt ist, wird dreiwertige ANSI-Logik für alle Vergleichsprädikate in einer WHERE- oder
HAVING-Klausel oder in einer On-Bedingung verwendet. Ein Vergleich mit NULL und = oder != wird als "unbekannt" ausgewertet.
Wenn die ansinull-Option auf "Off" gesetzt ist, benutzt SQL Anywhere zweiwertige Logik für die folgenden vier Bedingungen:
expr = NULL
expr != NULL
expr = @var // @var ist eine Prozedurvariable oder Hostvariable
expr != @var
In jedem Fall wird das Prädikat als TRUE oder FALSE bewert, nie als UNKONWN. In diesen Vergleichen wird NULL als Sonderwert
in jeder Domäne behandelt, und ein Gleichheitsvergleich (=) von zwei NULL-Werten wird als TRUE zurückgegeben. expr muss ein relativ einfacher Ausdruck sein, der nur Spalten, Variable und Literale referenziert. Unterabfragen und Funktionen
sind nicht gestattet.
Wenn die ansinull-Option auf "On" gesetzt ist, generiert die Auswertung einer Aggregatfunktion mit Ausnahme von COUNT(*) für
einen Ausdruck, der mindestens ein NULL enthält, möglicherweise eine Warnung (SQLSTATE=01003). Siehe Nullwert in Aggregatfunktion eliminiert.
Wenn die ansinull-Option auf "Off" gesetzt ist, wird diese Warnung nicht angezeigt.
Hinweis
Alle SQL-Anweisungen, die eine WHERE-, HAVING- oder ON-Klausel enthalten, werden durch die ansinull-Option beeinflusst. Außerdem
wird jeder beliebige Ausdruck in einer solchen Anweisung durch die ansinull-Option beeinflusst.
In Adaptive Server Enterprise 12.5 wurde für LIKE-Prädikate mit einer NULL-Musterzeichenfolge eine Änderung eingeführt, wenn
die ansinull-Option auf "Off" gesetzt ist. In SQL Anywhere bleiben LIKE-Prädikate durch die Einstellung von "ansinull" unbeeinflusst.