【问题标题】:SQL Replace Function Replacing Too Many Parts Of A String [duplicate]SQL替换函数替换字符串的太多部分[重复]
【发布时间】:2019-05-15 20:34:51
【问题描述】:

我正在编写一个 SQL Update 语句来替换字符串的一部分。我无法得到的一个场景是只替换冒号之前字符串的第一部分。我想从值 S 到 S2 进行简单的更改。

Current String: S:S:S;S:S:S
Wanted String: S2:S:S;S:S:S

我目前拥有的 SQL:

UPDATE [table]
    SET [column] = REPLACE([cell], 'S:', 'S2:')
    WHERE [cell] LIKE  'S:%'

这会产生值 S2:S2:S;S2:S2:S

[] 中的字段是以编程方式处理的变量。我只是在 SQL 部分苦苦挣扎。

【问题讨论】:

  • 您应该考虑使用 STUFF。第一个元素总是 S: 吗?
  • 感谢肖恩的评论。在这种情况下,S 只是一个例子。任何字符串都可以传递到查询中。但是,这些查询是由 C# 应用程序执行的,我可以使用该逻辑以编程方式查找要替换的值的长度。

标签: sql sql-server


【解决方案1】:

你看想要STUFF():

UPDATE [table]
    SET [column] = STUFF([cell], 1, 2, 'S2:')
    WHERE [cell] LIKE  'S:%';

【讨论】:

    猜你喜欢
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 2012-07-17
    • 2013-10-05
    • 1970-01-01
    相关资源
    最近更新 更多