SnowConvert AI - Serveur SQL-Azure Synapse - ANSI_NULLS¶
Applies to
SQL Server
Azure Synapse Analytics
Description¶
Cette instruction spécifie le comportement compatible ISO des opérateurs de comparaison Égal à et Non égal à lorsqu’ils sont utilisés avec des valeurs nulles dans SQLServer. Consultez SET ANSI_NULLS pour obtenir plus d’informations sur cette instruction.
Syntaxe Transact-SQL¶
SET ANSI_NULLS { ON | OFF }
Modèles d’échantillons de sources¶
SET ANSI_NULLS ON¶
« SET ANSI_NULLS ON n’affecte une comparaison que si l’un des opérandes de la comparaison est soit une variable qui est NULL soit un littéral NULL. Si les deux côtés de la comparaison sont des colonnes ou des expressions composées, le paramètre n’affecte pas la comparaison. » (article SQLServer ANSI_NULLS).
Snowflake ne prend pas en charge cette instruction, donc dans le cas de ANSI_NULLS ON, ceci est marqué par un FDM (SSC-FDM-TS0027), car elle n’est pas pertinente dans l’exécution d’opérations de comparaison égales et non égales. Ici, vous pouvez trouver une explication du traitement NULL dans 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¶
« Lorsque ANSI_NULLS est OFF, les opérateurs de comparaison d’égalité (=) et d’inégalité (<>) ne respectent pas la norme ISO. Une instruction SELECT qui utilise WHERE column_name = NULL renvoie les lignes dont la valeur est nulle dans la colonne column_name. Une instruction SELECT qui utilise WHERE column_name <> NULL renvoie les lignes qui ont des valeurs non NULL dans la colonne ». (SQLServer ANSI_NULLS article).
Dans le cas de l’instruction ANSI_NULLS OFF, celle-ci est marquée d’un EWI (SSC-EWI-0040) parce qu’elle nécessite un effort manuel supplémentaire.
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;