SnowConvert AI - SQL サーバーとAzure Synapse - ANSI_NULLS¶
Applies to
SQL Server
Azure Synapse Analytics
説明¶
このステートメントは、 SQLServer でNULL値とともに使用されるときのEquals toおよびNot Equal to比較演算子の ISO 準拠の動作を指定します。このステートメントに関する詳細は、 SET ANSI_NULLS をご参照ください。
Transact-SQL 構文¶
SET ANSI_NULLS { ON | OFF }
サンプルソースパターン¶
SET ANSI_NULLS ON¶
"SET ANSI_NULLS ON は、比較のオペランドの1つが NULL 変数かリテラル NULL の場合にのみ比較に影響します。比較の両側が列または複合式の場合、セットは比較に影響しません。" (SQLServer ANSI_NULLS 記事)。
Snowflakeはこのステートメントをサポートしていないため、 ANSI_NULLS ON の場合、これは FDM (SSC-FDM-TS0027) でマークされます。これは、EqualおよびNot Equal比較演算の実行において関連するものがないためです。 ここで、 Snowflakeでの NULL の処理 についての説明をご覧いただけます。
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¶
"ANSI_NULLS が OFF の場合、Equals(=)およびNot Equal To(<>)比較演算子は ISO 標準に従いません。WHERE column_name = NULL を使用する SELECT ステートメントは、column_nameにnull値がある行を返します。WHERE column_name <> NULL を使用する SELECT ステートメントは、列に NULL 以外の値を持つ行を返します"。(SQLServer ANSI_NULLS 記事)。
ANSI_NULLS OFF ステートメントの場合、余分な手作業が必要なため、このステートメントには EWI (SSC-EWI-0040)が付いています。
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;