【问题标题】:Search and replace part of string in database在数据库中搜索和替换部分字符串
【发布时间】:2010-10-10 23:37:05
【问题描述】:

我需要替换所有 iframe 标记,在我的数据库中存储为 nvarchar。我可以使用以下 sql 问题找到条目:

SELECT * FROM databasename..VersionedFields WHERE Value LIKE '%<iframe%'

假设我要替换以下代码段:

code before iframe <iframe src="yadayada"> </iframe> code after iframe

有了这个:

code before iframe <a>iframe src="yadayada"</a> code after iframe

【问题讨论】:

    标签: sql sql-server tsql


    【解决方案1】:

    我会考虑为这种字符串操作编写一个支持 RegEx 的 CLR 替换函数。

    【讨论】:

      【解决方案2】:

      您可以使用 UPDATE 语句来设置值与 REPLACE

      UPDATE
          Table
      SET
          Column = Replace(Column, 'find value', 'replacement value')
      WHERE
          xxx
      

      您在执行此操作时需要非常小心!我强烈建议先进行备份。

      【讨论】:

      • Here 有更多相关信息
      【解决方案3】:

      我认为应该进行 2 次更新调用

      update VersionedFields
      set Value = replace(value,'<iframe','<a><iframe')
      
      update VersionedFields
      set Value = replace(value,'> </iframe>','</a>')
      

      【讨论】:

        【解决方案4】:
        update VersionedFields
        set Value = replace(replace(value,'<iframe','<a>iframe'), '> </iframe>','</a>')
        

        你一次完成。

        【讨论】:

          【解决方案5】:

          我刚刚遇到了类似的问题。我将 db 的内容导出到一个 sql 文件中,并使用 TextEdit 查找和替换我需要的所有内容。简单方便!

          【讨论】:

            【解决方案6】:

            更新数据库和 设置 fieldName=Replace(fieldName,'FindString','ReplaceString')

            【讨论】:

              猜你喜欢
              • 2015-02-26
              • 2015-05-02
              • 1970-01-01
              • 2015-11-13
              • 2016-01-19
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多