我正在尝试替换字符串中从特定位置开始的字符,但似乎只替换和删除开头的字符假设我正在尝试替换此字符:
0000000000
与
00AAAAAA00
前两个字符和后两个字符不应替换。但是在使用此查询时
Update Table1 set col1=replace(col1,'0','A',2,8) where Table1.col2='R';
我明白了
AAAAAAAA0
xzabzqsa1#
“前两个字符和后两个字符不应替换。” Left(col1, 2) 将给你前两个字符和 Right(col1, 2) 我会给你最后两个。似乎你想要6个“a”字在他们之间; String(6, 'A') 我会给你的。
Left(col1, 2)
Right(col1, 2)
String(6, 'A')
Update Table1 set col1 = Left(col1, 2) & String(6, 'A') & Right(col1, 2) where Table1.col2 = 'R';
如果你喜欢用 Replace() ,调整开始位置和要执行的替换计数。
Replace()
Update Table1 set col1 = Left(col1, 2) & replace(col1, '0', 'A', 3, 6) where Table1.col2 = 'R';
1条答案
按热度按时间xzabzqsa1#
“前两个字符和后两个字符不应替换。”
Left(col1, 2)
将给你前两个字符和Right(col1, 2)
我会给你最后两个。似乎你想要6个“a”字在他们之间;
String(6, 'A')
我会给你的。如果你喜欢用
Replace()
,调整开始位置和要执行的替换计数。