当前位置: 首页 > 知识库问答 >
问题:

更新和替换字符串的一部分

谢雅珺
2023-03-14

我有一个包含两列的表, 。我想更改第二列中某些字符串的一部分。

表示例:

ID            Value
---------------------------------
1             c:\temp\123\abc\111
2             c:\temp\123\abc\222
3             c:\temp\123\abc\333
4             c:\temp\123\abc\444

现在不需要 字符串中的 了。我尝试了 :

UPDATE dbo.xxx
SET Value = REPLACE(Value, '%123%', '')
WHERE ID <= 4

当我执行脚本时,SQL Server不会报告错误,但也不会更新任何内容。这是为什么?

共有3个答案

晋功
2023-03-14

要使查询在不是每一行都需要更新的大表中运行得更快,还可以选择只更新将被修改的行:

UPDATE dbo.xxx
SET Value = REPLACE(Value, '123', '')
WHERE ID <= 4
AND Value LIKE '%123%'
赫连开畅
2023-03-14

尝试删除字符,如下所示

UPDATE dbo.xxx
SET Value = REPLACE(Value, '123', '')
WHERE ID <=4

田远
2023-03-14

中不需要通配符--它只查找您为第二个参数输入的字符串,因此下面的操作应该是正确的:

UPDATE dbo.xxx
SET Value = REPLACE(Value, '123\', '')
WHERE ID <=4

(我还在replace中添加了,因为我认为您也不需要它)

 类似资料:
  • 问题内容: 我在MySQL数据库中有一个带有以下各列的表 网址就像: 我想将所有网址更新到另一个域 保持文件名不变。 我必须运行什么查询? 问题答案:

  • /A/B/C/whatever不是固定的,是动态的,需要用 /1/2/3/whatever之类的东西替换,我喜欢像下面这样改变它,保持最后一部分/完整。 我运行下面的查询 正确返回需要更换的零件 一般的更新是,我从一个字符串的UPDATE和REPLACE部分理解为 因此,我要更新和替换的最后一个查询是 但它给出了以下错误 子查询返回超过1的值。当子查询如下时,这是不允许的=,!=, 我怀疑子查询的

  • 问题内容: 我想,以取代过去的字符串,它是一个,与) 假设字符串是: -Insert into dual (name,date, 转换为: -Insert into dual (name,date) 问题答案: 以下代码应将的最后一次出现替换为。 注意 如果不含,则会抛出Exception 。

  • 问题内容: 我使用正则表达式从网页中获取字符串,并且该字符串的一部分可能包含我想替换为其他内容的内容。这怎么可能呢?我的代码是这样的,例如: 问题答案:

  • 问题内容: 我有一些带有数字和英文单词的字符串,我需要通过找到它们并将其替换为该单词的本地化版本,将它们翻译成我的母语。您知道如何轻松实现替换字符串中的单词吗? 谢谢 编辑: 我已经尝试过(字符串“ to”的一部分应替换为“ xyz”): 但这不起作用… 问题答案: 它正在工作,但是不会修改调用者对象,而是返回一个新的String。 因此,您只需要将其分配给新的String变量或自身即可: 要么

  • 问题内容: 我正在尝试获取字符串的前10个字符,并想用替换空格。 我有 但是我不确定下一步该怎么做。 我想要绳子 这是对字符串的测试。 成为 this_is_th 问题答案: 只需使用str_replace: 您可以在上一个和呼叫之后执行此操作,如下所示: 但是,如果您想花哨的话,可以一行完成:

  • 我想要成功 用大括号()或[]替换的文本可从表1或表2中找到。 当前方法 如何改进代码跳过非必需循环?