SQL Server tem um
ANSI_NULLS configuração que determina como NULL os valores são avaliados quando comparados a outro valor com o Equals (= ) e Diferente de (<> ) operadores de comparação. Embora seja verdade que você pode alterar o
ANSI_NULLS configuração no nível da sessão (usando SET ANSI_NULLS ), cada banco de dados também tem seu próprio ANSI_NULLS contexto. Você pode verificar seu banco de dados para ver se seu
ANSI_NULLS configuração está ON ou OFF . Para fazer isso com o T-SQL, você pode usar o
sys.databases visualização de catálogo ou o DATABASEPROPERTYEX() função. Os sys.databases Visualizar
Os
sys.databases A exibição de catálogo contém muitas informações sobre cada banco de dados em sua instância do SQL Server. A consulta a seguir retorna o
ANSI_NULLS configuração para a Music base de dados:SELECT is_ansi_nulls_on
FROM sys.databases
WHERE name = 'Music'; Resultado:
+--------------------+ | is_ansi_nulls_on | |--------------------| | 1 | +--------------------+
Nesse caso,
ANSI_NULLS está ON para este banco de dados. Podemos desativá-lo
OFF assim:ALTER DATABASE Music
SET ANSI_NULLS OFF; Você pode eliminar o
WHERE cláusula ao usar o sys.databases exibição de catálogo para retornar dados para todos os bancos de dados. Assim:SELECT
name,
is_ansi_nulls_on
FROM sys.databases
ORDER BY name ASC; Esta visualização também tem uma coluna chamada
is_ansi_null_default_on , que retorna o ANSI_NULL_DEFAULT configuração para o banco de dados. O
ANSI_NULL_DEFAULT configuração determina o valor padrão, NULL ou NOT NULL , de uma coluna ou tipo CLR definido pelo usuário para o qual a nulidade não está explicitamente definida em CREATE TABLE ou ALTER TABLE declarações. Poderíamos modificar o exemplo anterior para incluir esta coluna:
SELECT
name,
is_ansi_nulls_on,
is_ansi_null_default_on
FROM sys.databases
ORDER BY name ASC; A DATABASEPROPERTYEX() Função
Outra maneira de verificar essas configurações é com o
DATABASEPROPERTYEX() função. Veja como verificar o
ANSI_NULLS configuração para a Music DB:SELECT DATABASEPROPERTYEX('Music','IsAnsiNullsEnabled'); Resultado:
+--------------------+ | (No column name) | |--------------------| | 0 | +--------------------+
Agora é
0 para OFF porque eu configurei para OFF em um exemplo anterior. Para verificar o
ANSI_NULL_DEFAULT configuração, faça isso:SELECT DATABASEPROPERTYEX('Music','IsAnsiNullDefault'); Resultado:
+--------------------+ | (No column name) | |--------------------| | 1 | +--------------------+