För att ersätta den första instansen av ett tecken skulle jag rekommendera användningen av STUFF
och CHARINDEX
funktioner. STUFF
infogar en sträng i en annan sträng. Den tar bort en angiven längd av tecken i den första strängen vid startpositionen och infogar sedan den andra strängen i den första strängen vid startpositionen.
DECLARE @str varchar(100) = '^1402 WSN NIAMLAB^teertS htimS 005'
SELECT STUFF(@str, CHARINDEX('^', @str), 1, '&')
Observera att du också kan använda STUFF
i en fråga enligt följande:
SELECT STUFF(<yourcolumn>, CHARINDEX('^', <yourcolumn>), 1, '&')
FROM <yourtable>