Not
Å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 Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analysplattformssystem (PDW)
SQL-analysslutpunkt i Microsoft Fabric
Lager i Microsoft Fabric
SQL-databas i Microsoft Fabric
Ersätter alla förekomster av ett angivet strängvärde med ett annat strängvärde.
Transact-SQL syntaxkonventioner
Syntax
REPLACE ( string_expression , string_pattern , string_replacement )
Arguments
string_expression
Är stränguttrycket som ska sökas.
string_expression kan vara av en karaktärs- eller binär datatyp.
string_pattern
Är delsträngen som ska hittas.
string_pattern kan vara av en karaktärs- eller binär datatyp.
string_pattern får inte överstiga det maximala antalet bytes som får plats på en sida. Om string_pattern är en tom sträng (''), returneras string_expression oförändrad.
string_replacement
Är ersättningssträngen.
string_replacement kan vara av en karaktärs- eller binär datatyp.
Returtyper
Returnerar nvarchar om ett av indataargumenten är av nvarchar-datatypen ; annars returnerar REPLACE varchar.
Returnerar NULL om något av argumenten är NULL.
Om string_expression inte är av typen varchar(max) eller nvarchar(max), förkortar REPLACE returvärdet vid 8 000 byte. För att returnera värden större än 8 000 byte måste string_expression uttryckligen kastas till en datatyp med stora värden.
Anmärkningar
REPLACE utför jämförelser baserat på sammansättningen av indatan. För att utföra en jämförelse i en specificerad sortering kan du använda COLLATE för att applicera en explicit sortering på indatan.
0x0000 (char(0)) är ett odefinierat tecken i Windows-sorteringar och kan inte inkluderas i REPLACE.
Examples
Följande exempel ersätter strängen cde i abcdefghicde med xxx.
SELECT REPLACE('abcdefghicde','cde','xxx');
GO
Här är resultatet.
------------
abxxxfghixxx
(1 row(s) affected)
Följande exempel använder funktionen COLLATE .
SELECT REPLACE('This is a Test' COLLATE Latin1_General_BIN,
'Test', 'desk' );
GO
Här är resultatet.
------------
This is a desk
(1 row(s) affected)
Följande exempel beräknar antalet mellanslag i en mening med hjälp av REPLACE funktionen. Först beräknar den meningens längd med funktionen LEN . Den ersätter sedan ' '-tecknen med '' med REPLACE. Efter denna process räknar den ut meningens längd igen. Den resulterande skillnaden är antalet mellanslagstecken i meningen.
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
Här är resultatet.
------------
Number of spaces in the sentence: 7
(1 row(s) affected)
Se även
CONCAT (Transact-SQL)
CONCAT_WS (Transact-SQL)
FORMATMESSAGE (Transact-SQL)
CITAT (Transact-SQL)
OMVÄND (Transact-SQL)
STRING_AGG (Transact-SQL)
STRING_ESCAPE (Transact-SQL)
SAKER (Transact-SQL)
ÖVERSÄTTA (Transact-SQL)
Datatyper (Transact-SQL)
Strängfunktioner (Transact-SQL)