【发布时间】:2014-12-11 23:54:26
【问题描述】:
我有一个表,由一列组成,每行有 100 个字符串。添加了第二列以容纳结果。我需要修改某些固定位置元素并计划执行以下操作:
UPDATE myData
SET newData = REPLACE(oldData,SUBSTRING(eftnwsfull, 16,2),'OC')
位置 16,2 的元素是 '17'。但是,如果字符串的其他部分(不在位置 16,2)恰好是 '17' 也将更改为 'OC'。
我很困惑为什么会发生这种情况,因为我正在指定进行替换的确切位置。我做错了什么?
【问题讨论】:
-
这是预期的; REPLACE 用第三个替换第一个参数中与第二个不匹配的任何内容
-
我的印象是 SUBSTRING 会“过滤”它。好的,还有其他方法吗?
-
你能澄清一下你想替换什么吗?
-
用一个例子来说明问题的最好方法之一。
标签: sql sql-server tsql replace substring