Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - Datenbankadministration » Konfiguration Ihrer Datenbank » Datenbankoptionen » Einführung in Datenbankoptionen » Alphabetische Liste der Optionen

 

ansinull-Option [Kompatibilität]

Steuert die Interpretation von NULL

Zulässige Werte

On, Off

Standardwert

On

Bemerkungen

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:

Ausdruck = NULL

Ausdruck != NULL

Ausdruck = @var // @var ist eine Prozedurvariable oder Hostvariable

Ausdruck != @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 ausgeworfen. Beachten Sie, dass Ausdruck ein relativ einfacher Ausdruck sein muss, der nur Spalten, Variable und Literale referenziert. Unterabfragen und Funktionen sind nicht gestattet.

Wird die ansinull-Option auf "On" gesetzt, kann die Auswertung einer Aggregatfunktion mit Ausnahme von COUNT(*) für einen Ausdruck, der mindestens einen NULL-Wert enthält, die Warnung Nullwert in Aggregatfunktion eliminiert (SQLSTATE=01003) generieren. Wenn die ansinull-Option auf "Off" gesetzt ist, wird diese Warnung nicht angezeigt.

Einschränkungen
  • Wenn die ansinull-Option auf "Off" gesetzt wird, sind nur WHERE-, HAVING- oder ON-Prädikate in SELECT-, UPDATE-, DELETE- und INSERT-Anweisungen betroffen. Die Semantik von Vergleichen in einer CASE- oder IF-Anweisung oder in IF-Ausdrücken wird nicht 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.