Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric
Vervangt alle voorkomen van een gespecificeerde stringwaarde door een andere stringwaarde.
Transact-SQL syntaxis-conventies
Syntaxis
REPLACE ( string_expression , string_pattern , string_replacement )
Arguments
string_expression
Is de stringexpressie die gezocht moet worden.
string_expression kan van een karakter- of binair datatype zijn.
string_pattern
Is de substring die gevonden moet worden.
string_pattern kan van een karakter- of binair datatype zijn.
string_pattern mag het maximale aantal bytes dat op een pagina past niet overschrijden. Als string_pattern een lege string is (''), wordt string_expression ongewijzigd teruggegeven.
string_replacement
Is de vervangende snaar.
string_replacement kan van een karakter- of binair datatype zijn.
Retourtypen
Geeft nvarchar terug als een van de invoerargumenten van het nvarchar-datatype is; anders geeft VERVANG varchar terug.
Geeft NULL terug als een van de argumenten NULL is.
Als string_expression niet van het type varchar(max) of nvarchar(max) is, kortst REPLACE de returnwaarde af op 8.000 bytes. Om waarden groter dan 8.000 bytes terug te geven, moet string_expression expliciet worden gecast naar een datatype met grote waardes.
Opmerkingen
REPLACE voert vergelijkingen uit op basis van de collatie van de invoer. Om een vergelijking uit te voeren in een gespecificeerde collatie, kun je COLLATE gebruiken om een expliciete collatie toe te passen op de invoer.
0x0000 (char(0)) is een ongedefinieerd teken in Windows-collaties en kan niet worden opgenomen in REPLACE.
Voorbeelden
Het volgende voorbeeld vervangt de string cde in abcdefghicde door xxx.
SELECT REPLACE('abcdefghicde','cde','xxx');
GO
Hier is het resultatenoverzicht.
------------
abxxxfghixxx
(1 row(s) affected)
Het volgende voorbeeld gebruikt de COLLATE functie.
SELECT REPLACE('This is a Test' COLLATE Latin1_General_BIN,
'Test', 'desk' );
GO
Hier is het resultatenoverzicht.
------------
This is a desk
(1 row(s) affected)
Het volgende voorbeeld berekent het aantal ruimtes in een zin met behulp van de REPLACE functie. Eerst berekent het de lengte van de zin met de LEN functie. Vervolgens worden de ' ' karakters vervangen door '' door REPLACE. Na dit proces berekent het opnieuw de lengte van de zin. Het resulterende verschil is het aantal spatietekens in de zin.
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
Hier is het resultatenoverzicht.
------------
Number of spaces in the sentence: 7
(1 row(s) affected)
Zie ook
TEKST.SAMENV (Transact-SQL)
CONCAT_WS (Transact-SQL)
FORMATMESSAGE (Transact-SQL)
CITAATNAAM (Transact-SQL)
ACHTERUIT (Transact-SQL)
STRING_AGG (Transact-SQL)
STRING_ESCAPE (Transact-SQL)
SPULLEN (Transact-SQL)
TRANSLATE (Transact-SQL)
gegevenstypen (Transact-SQL)
tekenreeksfuncties (Transact-SQL)