Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Substituindo apenas a enésima instância do caractere


Para substituir a primeira instância de um caractere eu recomendaria o uso do STUFF e CHARINDEX funções. STUFF insere uma string em outra string. Ele exclui um comprimento especificado de caracteres na primeira string na posição inicial e, em seguida, insere a segunda string na primeira string na posição inicial.
DECLARE @str varchar(100) = '^1402 WSN NIAMLAB^teertS htimS 005'
SELECT STUFF(@str, CHARINDEX('^', @str), 1, '&')

Observe que você também pode usar STUFF em uma consulta da seguinte forma:
SELECT STUFF(<yourcolumn>, CHARINDEX('^', <yourcolumn>), 1, '&')
FROM <yourtable>