sql >> Database >  >> RDS >> Sqlserver

Vervang een tekenreeks door een andere tekenreeks in SQL Server (T-SQL)

In SQL Server kunt u de REPLACE() . gebruiken functie om alle exemplaren van een tekenreeks te vervangen door een andere tekenreeks.

De functie accepteert drie argumenten; de tekenreeks die de tekenreeks bevat die moet worden vervangen, de tekenreeks die moet worden vervangen en de tekenreeks die deze moet vervangen.

Voorbeeld

Hier is een voorbeeld om te demonstreren.

SELECT REPLACE('Big dog', 'dog', 'cat');

Resultaat:

Big cat

Meerdere gebeurtenissen

Zoals gezegd, de REPLACE() functie vervangt alle gebeurtenissen. Dus als de te vervangen string meerdere keren verschijnt, worden ze allemaal vervangen.

SELECT REPLACE('Big dogs and little dogs', 'dog', 'cat');

Resultaat:

Big cats and little cats

Wees voorzichtig

Het loont de moeite om oplettend te zijn bij het vervangen van tekst. U kunt gemakkelijk onbedoelde resultaten krijgen als u niet voorzichtig bent.

SELECT REPLACE('Very dogmatic', 'dog', 'cat');

Resultaat:

Very catmatic

Meerdere tekens vervangen

Als u zich in de situatie bevindt waarin u meerdere REPLACE() functies om meerdere tekens op verschillende plaatsen in de tekenreeks te vervangen, probeer de TRANSLATE() in plaats daarvan functioneren. De TRANSLATE() functie werkt vergelijkbaar met het hebben van geneste REPLACE() functies, maar met een klein verschil.


  1. SQLAlchemy - SQLite voor testen en Postgresql voor ontwikkeling - Hoe overzetten?

  2. Het resultaat van een uitdrukking (bijv. Functie-aanroep) gebruiken in een lijst met opgeslagen procedureparameters?

  3. LEFT() vs SET TEXTSIZE in SQL Server:wat is het verschil?

  4. Hoe krijg ik de ID van meerdere ingevoegde rijen in MySQL?