SET CONCAT_NULL_YIELDS_NULL (Transact-SQL)

Gilt für: SQL Server Azure SQL verwaltete Instanz Azure Synapse Analytics Platform System (PDW)-SQL-Analyseendpunkt in Microsoft FabricWarehouse in Microsoft Fabric Fabric

Steuert die Behandlung von Verkettungsergebnissen als NULL-Werte oder als leere Zeichenfolgen.

Hinweis

SET CONCAT_NULL_YIELDS_NULL OFF und die Option AUS-Datenbank CONCAT_NULL_YIELDS_NULL sind veraltet. Ab SQL Server 2017 (14.x) CONCAT_NULL_YIELDS_NULL ist es immer auf ON gesetzt. Als veraltet markierte Funktionen sollten in neuen Anwendungen nicht verwendet werden. Weitere Informationen finden Sie unter veraltete Datenbank-Engine Features in SQL Server 2017.

Transact-SQL-Syntaxkonventionen

Syntax

Syntax für SQL Server und serverlose SQL-Pools in Azure Synapse Analytics, Microsoft Fabric

SET CONCAT_NULL_YIELDS_NULL { ON | OFF }   

Syntax für Azure Synapse Analytics und Analytics-Plattformsystem (PDW)

SET CONCAT_NULL_YIELDS_NULL ON    

Hinweise

Wenn SET CONCAT_NULL_YIELDS_NULL ON ist, ergibt die Verkettung eines Nullwerts mit einer Zeichenkette ein NULL-Ergebnis. SELECT 'abc' + NULL ergibt beispielsweise NULL. Wenn SET CONCAT_NULL_YIELDS_NULL OFF ist, ergibt die Verkettung eines Nullwerts mit einer Zeichenkette die Zeichenkette selbst (der Nullwert wird als leere Zeichenkette behandelt). SELECT 'abc' + NULL ergibt beispielsweise abc.

Wenn SET CONCAT_NULL_YIELDS_NULL nicht angegeben, gilt die Einstellung der CONCAT_NULL_YIELDS_NULL Datenbankoption.

Hinweis

SET SET CONCAT_NULL_YIELDS_NULL ist dieselbe Einstellung wie die CONCAT_NULL_YIELDS_NULL Einstellung von ALTER DATABASE.

Die Einstellung wird SET CONCAT_NULL_YIELDS_NULL zur Ausführung oder Laufzeit und nicht zur Analysezeit festgelegt.

SET CONCAT_NULL_YIELDS_NULL muss beim Erstellen oder Ändern von indexierten Ansichten, Indizes auf berechneten Spalten, gefilterten Indizes oder räumlichen Indizes AN sein. Wenn SET CONCAT_NULL_YIELDS_NULLOFF ist, schlagen alle CREATE-, UPDATE, , INSERTund Anweisungen DELETE auf Tabellen mit Indizes auf berechneten Spalten, gefilterten Indizes, räumlichen Indizes oder indizierten Ansichten fehl. Weitere Informationen zu den erforderlichen SET Optionseinstellungen mit indexierten Ansichten und Indizes auf berechneten Spalten finden Sie unter "Überlegungen bei der Nutzung der SET Aussagen" unter SET Aussagen (Transact-SQL).

Wenn CONCAT_NULL_YIELDS_NULL auf OFF gesetzt ist, kann keine String-Konkatenation über Servergrenzen hinweg stattfinden.

Um die aktuelle Einstellung anzuzeigen, führen Sie die folgende Abfrage aus.

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

Beispiele

Das folgende Beispiel zeigt die Verwendung beider SET CONCAT_NULL_YIELDS_NULL-Einstellungen.

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