SQL Server udostępnia funkcję STUFF()
funkcja, która umożliwia wstawienie ciągu wewnątrz innego ciągu.
Funkcja pozwala również określić liczbę znaków (jeśli istnieją) do usunięcia z oryginalnego ciągu w celu dopasowania do nowego ciągu.
Przykład
SELECT STUFF('WaterMelon', 6, 0, 'Juicy');
Wynik:
WaterJuicyMelon
Tutaj wstawiłem ciąg Juicy do ciągu Arbuz .
W tym przypadku podałem trzeciemu argumentowi wartość 0
, co oznacza, że żadne znaki nie zostały usunięte z oryginalnego ciągu.
Usuń znaki z oryginalnego ciągu
W tym przykładzie usuwam niektóre znaki z oryginalnego ciągu.
SELECT STUFF('WaterMelon', 6, 3, 'Juicy');
Wynik:
WaterJuicyon
Negatywne/Zerowe pozycje startowe
Jeśli podasz wartość ujemną lub zero dla pozycji początkowej, zwracana jest wartość null.
SELECT STUFF('WaterMelon', -1, 3, 'Juicy');
Wynik:
NULL
Gdy pozycja startowa jest zbyt wysoka
Otrzymasz również wartość null, jeśli podasz pozycję początkową, która jest dłuższa niż oryginalny ciąg.
SELECT STUFF('WaterMelon', 100, 3, 'Juicy');
Wynik:
NULL