当前位置: 首页 > 面试题库 >

如何使用mySQL replace()替换多个记录中的字符串?

滕翔飞
2023-03-14
问题内容

我们有一个数据库,该数据库的一列中有一堆记录,其中包含一些不良数据,其中的嵌入式编辑器转义了一些本不应该转义的内容,并且破坏了生成的链接。

我想运行一个查询来替换所有记录中的坏字符,但无法弄清楚该怎么做。我在MySQL中找到了该replace()函数,但是如何在查询中使用它呢?

例如,如果我想用该列中所有记录中&lt;的实际小于尖括号(<)替换字符串,那么正确的语法是什么?是否可以在单个查询中完成(即一次选择并替换所有内容),还是必须执行多个查询?即使是多个查询,如何使用多条记录对字段值进行替换?&lt;``articleItem``replace()


问题答案:

在非常普通的水平上

UPDATE MyTable

SET StringColumn = REPLACE (StringColumn, 'SearchForThis', 'ReplaceWithThis')

WHERE SomeOtherColumn LIKE '%PATTERN%'

在您的情况下,您说这些已被转义,但由于您未指定如何转义,因此假设它们已转义至 GREATERTHAN

UPDATE MyTable

SET StringColumn = REPLACE (StringColumn, 'GREATERTHAN', '>')

WHERE articleItem LIKE '%GREATERTHAN%'

由于查询实际上将在字符串内部进行,因此WHERE执行其模式匹配的子句不太可能提高任何性能-
它实际上将为服务器生成更多工作。除非您有另一个WHERE子句成员将使此查询的性能更好,否则您可以像这样简单地进行更新:

UPDATE MyTable
SET StringColumn = REPLACE (StringColumn, 'GREATERTHAN', '>')

您还可以嵌套多个REPLACE呼叫

UPDATE MyTable
SET StringColumn = REPLACE (REPLACE (StringColumn, 'GREATERTHAN', '>'), 'LESSTHAN', '<')

您也可以在选择数据时(而不是保存时)执行此操作。

所以代替:

SELECT MyURLString From MyTable

你可以做

SELECT REPLACE (MyURLString, 'GREATERTHAN', '>') as MyURLString From MyTable



 类似资料:
  • 本文向大家介绍如何使用MySQL replace()替换多个记录中的字符串?,包括了如何使用MySQL replace()替换多个记录中的字符串?的使用技巧和注意事项,需要的朋友参考一下 该函数可用于将一个字符串替换为另一个字符串。要理解,我们需要创建一个包含一些记录的表。以下是创建表的查询。 在INSERT命令的帮助下插入一些记录。插入记录的查询如下- 让我们检查表“ replaceDemo”中

  • 本文向大家介绍MySQL REPLACE()函数如何替换多个记录中的字符串?,包括了MySQL REPLACE()函数如何替换多个记录中的字符串?的使用技巧和注意事项,需要的朋友参考一下 如果要替换多个记录中的字符串,则函数必须将列名称作为第一个参数,即在字符串的位置。这意味着它将用该特定列中的另一个子字符串替换所有子字符串。我们还可以将WHERE子句与UPDATE语句一起使用,以应用条件。通过以

  • 我希望我的程序替换输入字符串中的每个元音。

  • 问题内容: 我有一些带有以下格式的方程式的字符串。 我还有一个文本文件,其中包含每个变量的名称,例如: 等等… 什么是对我来说,写代码的最佳方式,使其在插头到处发生,并且对等? 问题答案: 对于string ,请使用以下函数:

  • 问题内容: 我想,以取代所有和使用 但我不喜欢我的代码… 有没有比以下方法更有效的方法: ? toLowerCase()就在那里,因为我也希望它也小写… 问题答案: 编辑: 使用正则表达式,并且在字符类内部使用仅识别一个而不是任何字符。

  • 我真的不喜欢这样链接命令。有没有另一种方法在一个做?