W SQL Server możesz użyć REPLACE()
funkcja zastępująca wszystkie wystąpienia ciągu innym ciągiem.
Funkcja przyjmuje trzy argumenty; ciąg, który zawiera ciąg do zastąpienia, ciąg do zastąpienia i ciąg do zastąpienia.
Przykład
Oto przykład do zademonstrowania.
SELECT REPLACE('Big dog', 'dog', 'cat');
Wynik:
Big cat
Wiele wystąpień
Jak wspomniano, REPLACE()
funkcja zastępuje wszystkie wystąpienia. Jeśli więc ciąg, który ma zostać zastąpiony, pojawia się wiele razy, wszystkie zostaną zastąpione.
SELECT REPLACE('Big dogs and little dogs', 'dog', 'cat');
Wynik:
Big cats and little cats
Bądź ostrożny
Opłaca się być ostrożnym podczas zastępowania tekstu. Możesz łatwo uzyskać niezamierzone wyniki, jeśli nie będziesz ostrożny.
SELECT REPLACE('Very dogmatic', 'dog', 'cat');
Wynik:
Very catmatic
Zamień wiele znaków
Jeśli znajdziesz się w sytuacji, w której zagnieżdżasz wiele REPLACE()
funkcji zastępujących wiele znaków w różnych miejscach w ciągu, spróbuj użyć TRANSLATE()
funkcja zamiast. TRANSLATE()
funkcja działa podobnie do zagnieżdżonej funkcji REPLACE()
funkcje, ale z niewielką różnicą.