Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí na:SQL ServerAzure
SQL Managed InstanceAzure
Synapse AnalyticsAnalytics
Platform System (PDW)
SQL analytics endpoint in Microsoft FabricWarehouse
in Microsoft Fabric
Ovládá, zda jsou výsledky konkatenace považovány za nulové nebo prázdné řetězce.
Poznámka:
SET CONCAT_NULL_YIELDS_NULL OFF a možnost OFF databáze jsou CONCAT_NULL_YIELDS_NULL zastaralé. Od SQL Server 2017 (14.x) CONCAT_NULL_YIELDS_NULL je vždy nastaven na ON. Zastaralé funkce by se neměly používat v nových aplikacích. Další informace najdete v tématu Zastaralé funkce databázového stroje v SQL Serveru 2017.
Syntax
Syntax for SQL Server, serverless SQL pool in Azure Synapse Analytics, Microsoft Fabric
SET CONCAT_NULL_YIELDS_NULL { ON | OFF }
Syntaxe pro Azure Synapse Analytics a systém analytických platforem (PDW)
SET CONCAT_NULL_YIELDS_NULL ON
Remarks
Když SET CONCAT_NULL_YIELDS_NULL je ON, spojení nulové hodnoty s řetězcem vede k výsledku NULL. Například dává SELECT 'abc' + NULLNULL. Když SET CONCAT_NULL_YIELDS_NULL je VYPNUTO, spojení nulové hodnoty s řetězcem vede k samotnému řetězci (nulová hodnota je považována za prázdný řetězec). Například dává SELECT 'abc' + NULLabc.
Pokud SET CONCAT_NULL_YIELDS_NULL není specifikováno, platí nastavení databáze CONCAT_NULL_YIELDS_NULL .
Poznámka:
SET SET CONCAT_NULL_YIELDS_NULLje stejné nastavení jako CONCAT_NULL_YIELDS_NULL nastavení .ALTER DATABASE
Nastavení je SET CONCAT_NULL_YIELDS_NULL nastaveno při spuštění nebo běhu a ne při parse.
SET CONCAT_NULL_YIELDS_NULL musí být ZAPNUTO při vytváření nebo úpravě indexovaných pohledů, indexů na vypočítaných sloupcích, filtrovaných indexů nebo prostorových indexů. Pokud SET CONCAT_NULL_YIELDS_NULL je VYPNUTO, všechny příkazy CREATE, UPDATE, INSERT, a DELETE na tabulkách s indexy na vypočítaných sloupcích, filtrovaných indexech, prostorových indexech nebo indexovaných pohledech selžou. Pro více informací o požadovaných SET nastaveních možností s indexovanými zobrazeními a indexy ve vypočítaných sloupcích viz "Úvahy při použití SET příkazů" v sekciSET Příkazy (Transact-SQL).
Pokud CONCAT_NULL_YIELDS_NULL je VYPNUTO, nemůže dojít ke spojení řetězců přes hranice serveru.
Pro zobrazení aktuálního nastavení tohoto nastavení spusťte následující dotaz.
DECLARE @CONCAT_SETTING VARCHAR(3) = 'OFF';
IF ( (4096 & @@OPTIONS) = 4096 ) SET @CONCAT_SETTING = 'ON';
SELECT @CONCAT_SETTING AS CONCAT_NULL_YIELDS_NULL;
Examples
Následující příklad ukazuje použití obou SET CONCAT_NULL_YIELDS_NULL nastavení.
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