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

SQL Server localizar e substituir no campo TEXT


Eu finalmente percebi. Foi enterrado nos comentários ao artigo que jfrobishow publicou. Muito obrigado.

Aqui está toda a resposta que me levou à solução:
UPDATE TableName SET DBTextField = REPLACE(CAST(DBTextField AS varchar(MAX))
                                               ,'SearchText', 'ReplaceText')
FROM TableName
WHERE CHARINDEX('SearchText',CAST(DBTextField as varchar(MAX)))>0

Observação:que isso pode truncar o tamanho de seu dbfield , mas se for uma coluna de texto longo, faça nvarchar(max) e você não deve obter nenhum truncamento!