Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

So überprüfen Sie die ANSI_NULLS-Einstellung Ihrer Sitzung in SQL Server

In SQL Server ist der ANSI_NULLS Mit der Einstellung können Sie angeben, wie NULL Werte werden in Abfragen behandelt.

Sie können die SESSIONPROPERTY() verwenden Funktion, um die ANSI_NULLS zu überprüfen Einstellung für die aktuelle Sitzung.

Beispiel

Hier ist ein Beispiel zur Veranschaulichung.

SELECT SESSIONPROPERTY('ANSI_NULLS');

Ergebnis:

+--------------------+
| (No column name)   |
|--------------------|
| 1                  |
+--------------------+

In diesem Fall der ANSI_NULLS Einstellung für meine Sitzung ist ON .

Sie können es auf OFF setzen mit folgendem Code:

SET ANSI_NULLS OFF;

Wenn Sie es dann erneut überprüfen, wird eine Null erzeugt (bedeutet OFF ).

SELECT SESSIONPROPERTY('ANSI_NULLS');

Ergebnis:

+--------------------+
| (No column name)   |
|--------------------|
| 0                  |
+--------------------+

Der Standardwert für SET ANSI_NULLS ist OFF .

Der SQL Server Native Client-ODBC-Treiber und der SQL Server Native Client-OLE DB-Anbieter für SQL Server legen jedoch automatisch ANSI_NULLS fest auf ON beim Verbinden. Diese Einstellung kann in ODBC-Datenquellen, in ODBC-Verbindungsattributen oder in OLE DB-Verbindungseigenschaften konfiguriert werden, die in der Anwendung festgelegt werden, bevor eine Verbindung zu einer Instanz von SQL Server hergestellt wird.

ANSI_NULLS werden auch auf Datenbankebene angegeben. Ihre Sitzungseinstellung überschreibt jedoch die Einstellung auf Datenbankebene. Wenn SET ANSI_NULLS nicht angegeben ist, die Einstellung des ANSI_NULLS Option der aktuellen Datenbank gilt.