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 AnalyticsSQL
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
Syntaxe pro SQL Server, bezserverový fond SQL ve službě Azure Synapse Analytics, Microsoft Fabric
SET CONCAT_NULL_YIELDS_NULL { ON | OFF }
Syntaxe pro Azure Synapse Analytics
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