Per sostituire la prima istanza di un carattere consiglierei l'uso di STUFF
e CHARINDEX
funzioni. STUFF
inserisce una stringa in un'altra stringa. Elimina una lunghezza di caratteri specificata nella prima stringa nella posizione iniziale e quindi inserisce la seconda stringa nella prima stringa nella posizione iniziale.
DECLARE @str varchar(100) = '^1402 WSN NIAMLAB^teertS htimS 005'
SELECT STUFF(@str, CHARINDEX('^', @str), 1, '&')
Nota che potresti anche usare STUFF
in una query come segue:
SELECT STUFF(<yourcolumn>, CHARINDEX('^', <yourcolumn>), 1, '&')
FROM <yourtable>