Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
Azure Synapse Analytics
Elemzési platformrendszer (PDW)
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-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)