Sdílet prostřednictvím


VĚCI (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Funkce STUFF vloží řetězec do jiného řetězce. Vymaže určenou délku znaků v prvním řetězci na počáteční pozici a poté vloží druhý řetězec do prvního řetězce na počáteční pozici.

Transact-SQL konvence syntaxe

Syntaxe

STUFF ( character_expression , start , length , replace_with_expression )

Arguments

character_expression

Vyjádření dat o postavě. character_expression může být konstanta, proměnná nebo sloupec buď znakových nebo binárních dat.

start

Celočíselná hodnota, která určuje místo, kde má začít mazání a vkládání. Pokud je start záporný nebo nulový, vrátí se nulový řetězec. Pokud je start delší než první character_expression, vrátí se nulový řetězec. Start může být typu bigint.

length

Celé číslo, které určuje počet znaků k odstranění. Pokud je délka záporná, vrátí se nulový řetězec. Pokud je délka delší než první character_expression, smazání probíhá až do posledního znaku v posledním character_expression. Pokud je délka nulová, vkládání probíhá na výchozím místě a žádné znaky nejsou mazány. délka může být typu bigint.

replace_with_expression

Vyjádření dat o postavě. replace_with_expression může být konstanta, proměnná nebo sloupec znakových nebo binárních dat. Tento výraz nahrazuje délkové znaky character_expression začínající na začátku. Poskytnutí NULLjako replace_with_expression odstraní znaky, aniž by se něco vkládalo.

Návratové typy

Vrací data znaku, pokud je character_expression jedním z podporovaných typů znaků. Vrací binární data, pokud je character_expression jedním z podporovaných binárních datových typů.

Poznámky

Pokud je výchozí pozice nebo délka záporná, nebo pokud je výchozí pozice větší než délka první struny, vrátí se nulový řetězec. Pokud je výchozí pozice 0, vrátí se nulová hodnota. Pokud je délka pro mazání delší než první řetězec, je smazána na první znak v prvním řetězci.

Chyba vzniká, pokud výsledná hodnota je větší než maximum podporované typem návratu.

Doplňkové postavy (náhradní páry)

Při použití doplňkových znakových (SC) kolací mohou jak character_expression , tak replace_with_expression zahrnovat náhradní páry. Parametr délky počítá každého zástupce v character_expression jako jeden znak.

Examples

Následující příklad vrací řetězec znaků vytvořený smazáním tří znaků z prvního řetězce, abcdef, začínající na pozici 2, v bodě b, a vložením druhého řetězce v bodě mazání.

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

Tady je soubor výsledků.

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

Viz také