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 }
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;
Snowflake¶
----** SSC-FDM-TS0027 - SET ANSI_NULLS ON STATEMENT MAY HAVE A DIFFERENT BEHAVIOR IN SNOWFLAKE **
--SET ANSI_NULLS ON
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;
Snowflake¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0040 - THE 'SIMPLE SET STATEMENT' CLAUSE IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
SET ANSI_NULLS OFF;