sql >> Databasteknik >  >> RDS >> Sqlserver

Infoga tecken i mitten av en sträng i SQL Server (T-SQL)

SQL Server tillhandahåller STUFF() funktion som gör att du kan infoga en sträng i en annan sträng.

Funktionen låter dig också ange antalet tecken (om några) som ska raderas från den ursprungliga strängen för att passa den nya strängen.

Exempel

SELECT STUFF('WaterMelon', 6, 0, 'Juicy');

Resultat:

WaterJuicyMelon

Här satte jag in snöret Juicy in i strängen WaterMelon .

I det här fallet gav jag det tredje argumentet värdet 0 , vilket betyder att inga tecken raderades från den ursprungliga strängen.

Ta bort tecken från originalsträngen

I det här exemplet tar jag bort några tecken från den ursprungliga strängen.

SELECT STUFF('WaterMelon', 6, 3, 'Juicy');

Resultat:

WaterJuicyon

Negativa/noll startpositioner

Om du anger ett negativt värde eller noll för startpositionen, returneras null.

SELECT STUFF('WaterMelon', -1, 3, 'Juicy');

Resultat:

NULL

När startpositionen är för hög

Du får också null om du anger en startposition som är längre än den ursprungliga strängen.

SELECT STUFF('WaterMelon', 100, 3, 'Juicy');

Resultat:

NULL

  1. Det effektivaste sättet att infoga rader i MySQL-databasen

  2. Automatisk ökning för Oracle

  3. Hur undkommer jag % från python mysql-frågan

  4. PostgreSQL - Skriver dynamisk sql i lagrad procedur som returnerar en resultatuppsättning