W SQL Server ANSI_NULLS
ustawienie pozwala określić, jak NULL
wartości są traktowane w zapytaniach.
Możesz użyć SESSIONPROPERTY()
funkcja sprawdzania ANSI_NULLS
ustawienie dla bieżącej sesji.
Przykład
Oto przykład do zademonstrowania.
SELECT SESSIONPROPERTY('ANSI_NULLS');
Wynik:
+--------------------+ | (No column name) | |--------------------| | 1 | +--------------------+
W tym przypadku ANSI_NULLS
ustawienie dla mojej sesji jest ON
.
Możesz ustawić go na OFF
z następującym kodem:
SET ANSI_NULLS OFF;
Następnie ponowne sprawdzenie da zero (co oznacza OFF
).
SELECT SESSIONPROPERTY('ANSI_NULLS');
Wynik:
+--------------------+ | (No column name) | |--------------------| | 0 | +--------------------+
Domyślna wartość dla SET ANSI_NULLS
jest OFF
.
Jednak sterownik ODBC programu SQL Server Native Client i dostawca SQL Server Native Client OLE DB dla programu SQL Server automatycznie ustawiają ANSI_NULLS
na ON
podczas łączenia. To ustawienie można skonfigurować w źródłach danych ODBC, w atrybutach połączenia ODBC lub we właściwościach połączenia OLE DB, które są ustawiane w aplikacji przed połączeniem z instancją SQL Server.
ANSI_NULLS
są również określone na poziomie bazy danych. Jednak ustawienie sesji zastępuje ustawienie na poziomie bazy danych. Jeśli SET ANSI_NULLS
nie określono, ustawienie ANSI_NULLS
obowiązuje opcja bieżącej bazy danych.