【发布时间】: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