Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Es wird nur die n-te Instanz des Zeichens ersetzt

Um die erste Instanz eines Zeichens zu ersetzen, würde ich die Verwendung des STUFF empfehlen und CHARINDEX Funktionen. STUFF fügt einen String in einen anderen String ein. Es löscht eine bestimmte Länge von Zeichen in der ersten Zeichenfolge an der Startposition und fügt dann die zweite Zeichenfolge in die erste Zeichenfolge an der Startposition ein.

DECLARE @str varchar(100) = '^1402 WSN NIAMLAB^teertS htimS 005'
SELECT STUFF(@str, CHARINDEX('^', @str), 1, '&')

Beachten Sie, dass Sie auch STUFF verwenden könnten in einer Abfrage wie folgt:

SELECT STUFF(<yourcolumn>, CHARINDEX('^', <yourcolumn>), 1, '&')
FROM <yourtable>