Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL ServerAzure
SQL Managed InstanceAzure
Synapse AnalyticsAnalytics
Platform System (PDW)
SQL analytics endpoint in Microsoft FabricWarehouse
in Microsoft Fabric
Bepaalt of concatenatieresultaten worden behandeld als null- of lege stringwaarden.
Opmerking
SET CONCAT_NULL_YIELDS_NULL OFF en de optie UIT CONCAT_NULL_YIELDS_NULL databases zijn verouderd. Vanaf SQL Server 2017 (14.x) CONCAT_NULL_YIELDS_NULL staat het altijd op AAN. Afgeschafte functies mogen niet worden gebruikt in nieuwe toepassingen. Zie Afgeschafte database-enginefuncties in SQL Server 2017 voor meer informatie.
Transact-SQL syntaxis-conventies
Syntax
Syntax for SQL Server, serverless SQL pool in Azure Synapse Analytics, Microsoft Fabric
SET CONCAT_NULL_YIELDS_NULL { ON | OFF }
Syntaxis voor Azure Synapse Analytics en Analytics Platform System (PDW)
SET CONCAT_NULL_YIELDS_NULL ON
Remarks
Wanneer SET CONCAT_NULL_YIELDS_NULL ON is, levert het concateneren van een nullwaarde met een string een NULL-resultaat op. Bijvoorbeeld, SELECT 'abc' + NULL geeft NULL. Wanneer SET CONCAT_NULL_YIELDS_NULL OFF is, levert het samenvoegen van een nulwaarde met een string de string zelf op (de nulwaarde wordt behandeld als een lege string). Bijvoorbeeld, SELECT 'abc' + NULL geeft abc.
Als SET CONCAT_NULL_YIELDS_NULL niet is gespecificeerd, geldt de instelling van de CONCAT_NULL_YIELDS_NULL database-optie.
Opmerking
SET SET CONCAT_NULL_YIELDS_NULL dezelfde instelling is als de CONCAT_NULL_YIELDS_NULL instelling van ALTER DATABASE.
De instelling van SET CONCAT_NULL_YIELDS_NULL wordt ingesteld bij uitvoering of uitvoeringstijd en niet op parseringstijd.
SET CONCAT_NULL_YIELDS_NULL moet AAN zijn bij het aanmaken of wijzigen van geïndexeerde weergaven, indexen op berekende kolommen, gefilterde indexen of ruimtelijke indexen. Als SET CONCAT_NULL_YIELDS_NULLOFF is, zullen alle CREATE-, UPDATE, INSERT, en DELETE instructies op tabellen met indexen op berekende kolommen, gefilterde indexen, ruimtelijke indexen of geïndexeerde weergaven falen. Voor meer informatie over de vereiste SET optie-instellingen met geïndexeerde weergaven en indexen op berekende kolommen, zie "Overwegingen bij het gebruik van de SET Statements" in SET Statements (Transact-SQL).
Wanneer CONCAT_NULL_YIELDS_NULL is ingesteld op UIT, kan stringconcatenatie over servergrenzen niet plaatsvinden.
Voer de volgende query uit om de huidige instelling voor deze instelling weer te geven.
DECLARE @CONCAT_SETTING VARCHAR(3) = 'OFF';
IF ( (4096 & @@OPTIONS) = 4096 ) SET @CONCAT_SETTING = 'ON';
SELECT @CONCAT_SETTING AS CONCAT_NULL_YIELDS_NULL;
Examples
Het volgende voorbeeld toont het gebruik van beide SET CONCAT_NULL_YIELDS_NULL instellingen.
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