Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Gäller för:SQL ServerAzure
SQL Managed InstanceAzure
Synapse AnalyticsAnalytics
Platform System (PDW)
SQL analytics endpoint in Microsoft FabricWarehouse
in Microsoft Fabric
Styr om konkateneringsresultat behandlas som noll- eller tomma strängvärden.
Note
SET CONCAT_NULL_YIELDS_NULL OFF och CONCAT_NULL_YIELDS_NULL OFF-databasalternativet är föråldrade. Från och med SQL Server 2017 (14.x) CONCAT_NULL_YIELDS_NULL är det alltid inställt på ON. Inaktuella funktioner bör inte användas i nya program. Mer information finns i Inaktuella databasmotorfunktioner i SQL Server 2017.
Transact-SQL syntaxkonventioner
Syntax
Syntax för SQL Server, serverlös SQL-pool i Azure Synapse Analytics, Microsoft Fabric
SET CONCAT_NULL_YIELDS_NULL { ON | OFF }
Syntax för Azure Synapse Analytics and Analytics Platform System (PDW)
SET CONCAT_NULL_YIELDS_NULL ON
Remarks
När SET CONCAT_NULL_YIELDS_NULL är ON ger en sammanlänkning av ett nollvärde med en sträng ett NULL-resultat. Till exempel SELECT 'abc' + NULL ger NULL. När SET CONCAT_NULL_YIELDS_NULL är OFF ger sammanfogning av ett nollvärde med en sträng strängen strängen själv (nollvärdet behandlas som en tom sträng). Till exempel SELECT 'abc' + NULL ger abc.
Om SET CONCAT_NULL_YIELDS_NULL inte anges gäller inställningen för CONCAT_NULL_YIELDS_NULL databasalternativet.
Note
SET SET CONCAT_NULL_YIELDS_NULL är samma inställning som inställningen CONCAT_NULL_YIELDS_NULL för ALTER DATABASE.
Inställningen av SET CONCAT_NULL_YIELDS_NULL är satt vid exekverings- eller körtid och inte vid parsetid.
SET CONCAT_NULL_YIELDS_NULL måste vara PÅ vid skapande eller ändring av indexerade vyer, index på beräknade kolumner, filtrerade index eller rumsliga index. Om SET CONCAT_NULL_YIELDS_NULL är OFF kommer alla CREATE, UPDATE, INSERT, och DELETE satser på tabeller med index på beräknade kolumner, filtrerade index, rumsliga index eller indexerade vyer att misslyckas. För mer information om nödvändiga SET alternativinställningar med indexerade vyer och index på beräknade kolumner, se "Considerations When You Use the SET Statements" i SET Statements (Transact-SQL).
När CONCAT_NULL_YIELDS_NULL är satt till AV kan strängkonkatenering över servergränser inte ske.
För att se den aktuella inställningen för denna inställning, kör följande fråga.
DECLARE @CONCAT_SETTING VARCHAR(3) = 'OFF';
IF ( (4096 & @@OPTIONS) = 4096 ) SET @CONCAT_SETTING = 'ON';
SELECT @CONCAT_SETTING AS CONCAT_NULL_YIELDS_NULL;
Exempel
Följande exempel visar användning av båda SET CONCAT_NULL_YIELDS_NULL inställningarna.
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