我正在尝试替换从字符串中的特定位置开始的字符,但它似乎只替换和删除开头的字符,假设我正在尝试替换它:
0000000000
跟
00AAAAAA00
不应替换前两个和后两个字符。但是,使用此查询时
Update Table1
set col1=replace(col1,'0','A',2,8)
where Table1.col2='R';
我明白这个
AAAAAAAA0
">
前两个和后两个字符不应被替换。
Left(col1, 2)
会给你前两个字符,Right(col1, 2)
会给你最后两个。
似乎您希望它们之间有 6 个"A"字符;String(6, 'A')
会给你的。
Update Table1
set col1 = Left(col1, 2) & String(6, 'A') & Right(col1, 2)
where Table1.col2 = 'R';
如果您更喜欢使用Replace()
,请调整起始位置和要执行的替换计数。
Update Table1
set col1 = Left(col1, 2) & replace(col1, '0', 'A', 3, 6)
where Table1.col2 = 'R';