SAKER (Transact-SQL)

Gäller för:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalysplattformssystem (PDW)SQL-analysslutpunkt i Microsoft FabricLager i Microsoft FabricSQL-databas i Microsoft Fabric

STUFF-funktionen infogar en sträng i en annan sträng. Den tar bort en specificerad längd tecken i den första strängen vid startpositionen och sätter sedan in den andra strängen i den första strängen vid startpositionen.

Transact-SQL syntaxkonventioner

Syntax

STUFF ( character_expression , start , length , replace_with_expression )

Arguments

character_expression

Ett uttryck för teckendata. character_expression kan vara en konstant, variabel eller kolumn med antingen tecken- eller binär data.

start

Ett heltalsvärde som anger platsen för startade radering och insättning. Om start är negativ eller noll returneras en nollsträng. Om start är längre än den första character_expression returneras en nullsträng. Start kan vara av typen bigint.

length

Ett heltal som anger antalet tecken som ska tas bort. Om längden är negativ returneras en nollsträng. Om längden är längre än den första character_expression sker radering upp till sista tecknet i den sista character_expression. Om längden är noll sker insättningen vid startplatsen och inga tecken raderas. längden kan vara av typen bigint.

replace_with_expression

Ett uttryck för teckendata. replace_with_expression kan vara en konstant, variabel eller kolumn med antingen tecken- eller binärdata. Detta uttryck ersätter längdstecken i character_expression som börjar vid start. Att tillhandahålla NULL som replace_with_expression tar bort tecken utan att lägga in något.

Returtyper

Returnerar teckendata om character_expression är en av de stödda karaktärsdatatyperna. Returnerar binär data om character_expression är en av de stödda binära datatyperna.

Anmärkningar

Om startpositionen eller längden är negativ, eller om startpositionen är större än längden på den första strängen, returneras en nollsträng. Om startpositionen är 0 returneras ett nollvärde. Om längden som ska tas bort är längre än den första strängen, tas den bort till det första tecknet i den första strängen.

Ett fel uppstår om det resulterande värdet är större än det maximum som stöds av returtypen.

Tilläggstecken (surrogatpar)

När kompletterande karaktärer (SC) används kan både character_expression och replace_with_expression inkludera surrogatpar. Längdparametern räknar varje surrogat i character_expression som en enda karaktär.

Examples

Följande exempel returnerar en teckensträng skapad genom att ta bort tre tecken från den första strängen, abcdef, med start vid position 2, vid b, och insättning av den andra strängen vid raderingspunkten.

SELECT STUFF('abcdef', 2, 3, 'ijklmn');
GO

Här är resultatet.

---------
aijklmnef
  
(1 row(s) affected)

Se även