A pergunta é bastante autoexplicativa. Quero fazer uma localização e substituição simples, como você faria em um editor de texto nos dados de uma coluna do meu banco de dados (que é MsSQL no MS Windows Server 2003)
sql
sql-server
Jiaaro
fonte
fonte
WHERE
?igual a:
Exemplo: substitui <script ... por <a ... para eliminar vulnerabilidades de javascript
fonte
<script>
tag, como o uso<style>
ou<object>
etiquetas, ou maliciosassrc
atributos ouonerror
atributos.Isso me apontou na direção certa, mas eu tenho um banco de dados originado em MSSQL 2000 e ainda está usando o
ntext
tipo de dados para a coluna que estava substituindo. Ao tentar executar REPLACE nesse tipo, você obtém este erro:A correção mais simples, se os dados da coluna se ajustarem
nvarchar
, é lançar a coluna durante a substituição. Pegando emprestado o código da resposta aceita :Isso funcionou perfeitamente para mim. Graças a esta postagem do fórum que encontrei para a correção. Espero que isso ajude mais alguém!
fonte
O seguinte irá encontrar e substituir uma string em cada banco de dados (excluindo bancos de dados do sistema) em cada tabela na instância à qual você está conectado:
Simplesmente mude
'Search String'
para o que você procura e'Replace String'
com o que deseja substituir.Observação: isso não é ideal, nem é otimizado
fonte
Se você estiver trabalhando com o SQL Server 2005 ou posterior, também há uma biblioteca CLR disponível em http://www.sqlsharp.com/ que fornece implementações .NET de funções de string e RegEx que, dependendo do seu volume e tipo de dados, podem ser mais fácil de usar e, em alguns casos, as funções de manipulação de strings .NET podem ser mais eficientes do que as T-SQL.
fonte