SnowConvert AI - SQL Server-Azure Synapse - ANSI_NULLS¶
Applies to
SQL 서버
Azure 시냅스 분석
설명¶
이 문은 SQLServer에서 null 값과 함께 사용할 때 Equals 및 Not Equal to 비교 연산자의 ISO 호환 동작을 지정합니다. 이 문에 대한 자세한 내용은 SET ANSI_NULLS를 참조하세요.
Transact-SQL 구문¶
SET ANSI_NULLS { ON | OFF }
샘플 소스 패턴¶
SET ANSI_NULLS ON¶
“SET ANSI_NULLS ON 은 비교의 피연산자 중 하나가 NULL 또는 리터럴 NULL 인 변수인 경우에만 비교에 영향을 미칩니다. 비교의 양쪽이 열 또는 복합 식인 경우 설정은 비교에 영향을 미치지 않습니다.”(SQLServer ANSI_NULLS 문서).
Snowflake는 이 문을 지원하지 않습니다. 따라서 ANSI_NULLS ON의 경우 equal 및 not equal 비교 연산자 실행과 관련이 없기 때문에 FDM(SSC-FDM-TS0027)으로 표시됩니다. 여기에서 Snowflake에서의 NULL 처리의 설명을 찾을 수 있습니다.
SQL 서버¶
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 인 경우 같음(=) 및 같지 않음(<>) 비교 연산자는 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 서버¶
SET ANSI_NULLS OFF;
Snowflake¶
!!!RESOLVE EWI!!! /*** SSC-EWI-0040 - THE 'SIMPLE SET STATEMENT' CLAUSE IS NOT SUPPORTED IN SNOWFLAKE ***/!!!
SET ANSI_NULLS OFF;