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 Fabric Warehouse 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 CONCAT_NULL_YIELDS_NULL OFF-Datenbank ist veraltet. Ab SQL Server 2017 (14.x) ist CONCAT_NULL_YIELDS_NULL immer auf EIN festgelegt. 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 auf ON festgelegt ist, führt die Verkettung eines NULL-Wertes mit einer Zeichenfolge zum Ergebnis NULL. SELECT 'abc' + NULL
ergibt beispielsweise NULL
. Wenn SET CONCAT_NULL_YIELDS_NULL auf OFF festgelegt ist, erzeugt die Verkettung eines NULL-Wertes mit einer Zeichenfolge als Ergebnis die Zeichenfolge (der NULL-Wert wird als leere Zeichenfolge behandelt). SELECT 'abc' + NULL
ergibt beispielsweise abc
.
Wenn SET CONCAT_NULL_YIELDS_NULL nicht angegeben ist, gilt die Einstellung der CONCAT_NULL_YIELDS_NULL-Datenbankoption.
Hinweis
SET CONCAT_NULL_YIELDS_NULL stimmt mit der CONCAT_NULL_YIELDS_NULL-Einstellung von ALTER DATABASE überein.
Die Einstellung von SET CONCAT_NULL_YIELDS_NULL wird zur Ausführungszeit und nicht zur Analysezeit festgelegt.
SET CONCAT_NULL_YIELDS_NULL muss beim Erstellen oder Ändern von indizierten Sichten, Indizes für berechnete Spalten, gefilterte Indizes oder räumliche Indizes auf ON festgelegt sein. Wenn SET CONCAT_NULL_YIELDS_NULL auf OFF festgelegt ist, treten bei CREATE-, UPDATE-, INSERT- und DELETE-Anweisungen in Tabellen mit Indizes für berechnete Spalten, gefilterte Indices, räumliche Indizes oder indizierte Sichten Fehler auf. Weitere Informationen zu den erforderlichen Einstellungen der SET-Option mit indizierten Sichten und Indizes für berechnete Spalten finden Sie in den Überlegungen zum Verwenden der SET-Anweisungen unter SET-Anweisungen (Transact-SQL).
Wenn CONCAT_NULL_YIELDS_NULL auf OFF festgelegt wird, ist die Zeichenfolgenverkettung über Servergrenzen hinweg nicht möglich.
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