SET CONCAT_NULL_YIELDS_NULL(Transact-SQL)

적용 대상: Microsoft Fabric의 Microsoft FabricWarehouse에 있는 SQL ServerAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System(PDW) SQL 분석 엔드포인트

연결된 결과를 null 값으로 다룰 것인지 또는 빈 문자열 값으로 다룰 것인지를 제어합니다.

참고 항목

SET CONCAT_NULL_YIELDS_NULL OFF CONCAT_NULL_YIELDS_NULL OFF 데이터베이스 옵션은 더 이상 사용되지 않습니다. SQL Server 2017(14.x)부터 CONCAT_NULL_YIELDS_NULL 항상 ON으로 설정됩니다. 새 애플리케이션에는 이러한 기능을 사용하면 안 됩니다. 자세한 내용은 SQL Server 2017에서 사용되지 않는 데이터베이스 엔진 기능을 참조하세요.

Transact-SQL 구문 표기 규칙

구문

SQL Server 구문, Azure Synapse Analytics의 서버리스 SQL 풀, Microsoft Fabric

SET CONCAT_NULL_YIELDS_NULL { ON | OFF }   

Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW) 구문

SET CONCAT_NULL_YIELDS_NULL ON    

참고 항목

SQL Server 2014(12.x) 및 이전 버전에 대한 Transact-SQL 구문을 보려면 이전 버전 설명서를 참조 하세요.

설명

SET CONCAT_NULL_YIELDS_NULL 옵션이 ON일 경우 NULL 값을 문자열과 연결하면 결과가 NULL 값입니다. 예를 들어 SELECT 'abc' + NULLNULL를 생성합니다. SET CONCAT_NULL_YIELDS_NULL 옵션이 OFF일 경우, NULL 값을 문자열과 연결하면 그 결과가 문자열 자체(NULL 값은 빈 문자열로 처리됨)가 됩니다. 예를 들어 SELECT 'abc' + NULLabc를 생성합니다.

SET CONCAT_NULL_YIELDS_NULL이 지정되지 않은 경우 CONCAT_NULL_YIELDS_NULL 데이터베이스 옵션의 설정이 적용됩니다.

참고

SET CONCAT_NULL_YIELDS_NULL 옵션은 ALTER DATABASE의 CONCAT_NULL_YIELDS_NULL 옵션과 설정이 같습니다.

SET CONCAT_NULL_YIELDS_NULL 옵션은 실행 시간 또는 런타임에 설정되며, 구문 분석 시에는 설정되지 않습니다.

인덱싱된 뷰, 계산 열의 인덱스, 필터링된 인덱스 또는 부분 인덱스를 만들거나 변경할 때는 SET CONCAT_NULL_YIELDS_NULL이 ON이어야 합니다. SET CONCAT_NULL_YIELDS_NULL이 OFF이면 계산 열의 인덱스, 필터링된 인덱스, 부분 인덱스 또는 인덱싱된 뷰가 있는 테이블에서 CREATE, UPDATE, INSERT, DELETE 문이 실패합니다. 인덱싱된 뷰 및 계산 열의 인덱스에 사용되는 필수 SET 옵션 설정에 대한 자세한 내용은 SET 문(Transact-SQL)에서 "SET 문 사용 시 고려 사항"을 참조하세요.

CONCAT_NULL_YIELDS_NULL 옵션을 OFF로 설정하면 서버 경계 간에 문자열을 연결할 수 없습니다.

이 설정에 대한 현재 설정을 보려면 다음 쿼리를 실행합니다.

DECLARE @CONCAT_SETTING VARCHAR(3) = 'OFF';  
IF ( (4096 & @@OPTIONS) = 4096 ) SET @CONCAT_SETTING = 'ON';  
SELECT @CONCAT_SETTING AS CONCAT_NULL_YIELDS_NULL; 

예제

다음 예에서는 두 SET CONCAT_NULL_YIELDS_NULL 설정을 사용하는 방법을 보여 줍니다.

PRINT 'Setting CONCAT_NULL_YIELDS_NULL ON';  
GO  
-- SET CONCAT_NULL_YIELDS_NULL ON and testing.  
SET CONCAT_NULL_YIELDS_NULL ON;  
GO  
SELECT 'abc' + NULL ;  
GO  
  
-- SET CONCAT_NULL_YIELDS_NULL OFF and testing.  
SET CONCAT_NULL_YIELDS_NULL OFF;  
GO  
SELECT 'abc' + NULL;   
GO