Megosztás a következőn keresztül:


CSERÉLJE (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

Minden megadott stringérték előfordulását egy másik stringértékkel helyettesíti.

Transact-SQL szintaxis konvenciók

Szemantika

REPLACE ( string_expression , string_pattern , string_replacement )  

Arguments

string_expression
A sorkifejezést kell keresni. string_expression lehet karakter vagy bináris adattípus.

string_pattern
Megtalálni kell az alstringet? string_pattern lehet karakter vagy bináris adattípus. string_pattern nem szabad túllépni az oldalra beillesztő maximális bájtszámot. Ha string_pattern üres string (''), akkor string_expression változatlan marad.

string_replacement
A póthúr. string_replacement lehet karakter vagy bináris adattípus.

Visszatérési típusok

Nvarchart ad, ha az egyik bemeneti érv nvarchar adattípusú; különben a CSERE visszaadja a varchart.

Nullat ad vissza, ha bármelyik érv NULL.

Ha string_expression nem varchar(max) vagy nvarchar(max) típusú, a REPLACE 8 000 bájtnál lecsukja a visszatérési értéket. Ahhoz, hogy 8 000 bájtnál nagyobb értékeket adjunk vissza, string_expression explicit módon egy nagy értékű adattípusra kell osztani.

Megjegyzések

A REPLACE összehasonlításokat végez a bemenet összeállítása alapján. Egy meghatározott összeállításban összehasonlításhoz a COLLATE segítségével explicit összeállítást alkalmazhatsz a bemenetre.

0x0000 (char(0)) egy meghatározatlan karakter a Windows összeállításokban, és nem lehet beépíteni a REPLACE (REPLACE) rendszerébe.

Példák

A következő példa a húrt cde a - abcdefghicde ben helyettesíti xxx.

SELECT REPLACE('abcdefghicde','cde','xxx');  
GO  

Itt van az eredmények összessége.

------------  
abxxxfghixxx  
(1 row(s) affected)  

A következő példa a COLLATE függvényt használja.

SELECT REPLACE('This is a Test'  COLLATE Latin1_General_BIN,  
'Test', 'desk' );  
GO  

Itt van az eredmények összessége.

------------  
This is a desk  
(1 row(s) affected)  

A következő példa a mondatban lévő szóközek számát a következő REPLACE függvény segítségével számolja ki. Először a mondat hosszát számolja ki a függvényrel LEN . Ezután a '' karaktereket '' betűvel helyettesíti .REPLACE Ezután ismét kiszámítja a mondat hosszát. A különbség a mondatban lévő szóköz karaktereinek száma.

DECLARE @STR NVARCHAR(100), @LEN1 INT, @LEN2 INT;
SET @STR = N'This is a sentence with spaces in it.';
SET @LEN1 = LEN(@STR);
SET @STR = REPLACE(@STR, N' ', N'');
SET @LEN2 = LEN(@STR);
SELECT N'Number of spaces in the string: ' + CONVERT(NVARCHAR(20), @LEN1 - @LEN2);

GO  

Itt van az eredmények összessége.

------------  
Number of spaces in the sentence: 7  

(1 row(s) affected)  

Lásd még:

CONCAT (Transact-SQL)
CONCAT_WS (Transact-SQL)
FORMATMESSAGE (Transact-SQL)
QUOTENAME (Transact-SQL)
FORDÍTOTT (Transact-SQL)
STRING_AGG (Transact-SQL)
STRING_ESCAPE (Transact-SQL)
STUFF (Transact-SQL)
FORDÍTSA (Transact-SQL)
adattípusok (Transact-SQL)
sztringfüggvények (Transact-SQL)