Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Sostituendo solo l'ennesima istanza di carattere

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>