SnowConvert AI - Servidor SQL - Azure Synapse - ANSI_NULLS

Applies to
  • SQL Server

  • Azure Synapse Analytics

Descrição

Esta instrução especifica o comportamento compatível com ISO dos operadores de comparação Igual e Diferente quando usados com valores nulos no SQLServer. Acesse SET ANSI_NULLS para saber mais sobre essa instrução.

Sintaxe do Transact-SQL

 SET ANSI_NULLS { ON | OFF }
Copy

Amostra de padrões da origem

SET ANSI_NULLS ON

«SET ANSI_NULLS ON afeta uma comparação somente se um dos operandos da comparação for uma variável que seja NULL ou um literal NULL. Se ambos os lados da comparação forem colunas ou expressões compostas, a configuração não afetará a comparação.» (artigo SQLServer ANSI_NULLS).

O Snowflake não oferece suporte para essa instrução; portanto, se ANSI_NULLS estiver ON, isso é marcado com um FDM (SSC-FDM-TS0027), porque não tem relevância na execução de operações de comparação Igual e Diferente. Aqui, você pode encontrar uma explicação de NULL treatment in Snowflake.

SQL Server

 SET ANSI_NULLS ON;
Copy

Snowflake

 ----** SSC-FDM-TS0027 - SET ANSI_NULLS ON STATEMENT MAY HAVE A DIFFERENT BEHAVIOR IN SNOWFLAKE **
--SET ANSI_NULLS ON
Copy

SET ANSI_NULLS OFF

«Quando ANSI_NULLS é OFF, os operadores de comparação Equals (=) e Not Equal To (<>) não seguem o padrão ISO. Uma instrução SELECT que usa WHERE column_name = NULL retorna as linhas que têm valores nulos em column_name. Uma instrução SELECT que usa WHERE column_name <> NULL retorna as linhas que têm valores não NULL na coluna». (artigo SQLServer ANSI_NULLS).

No caso da instrução ANSI_NULLS OFF, ela é marcada com um EWI (SSC-EWI-0040) porque exige esforço manual extra.

SQL Server

 SET ANSI_NULLS OFF;
Copy

Snowflake

!!!RESOLVE EWI!!! /*** SSC-EWI-0040 - THE 'SIMPLE SET STATEMENT' CLAUSE IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
SET ANSI_NULLS OFF;
Copy