替换访问中的字符



我正在尝试替换从字符串中的特定位置开始的字符,但它似乎只替换和删除开头的字符,假设我正在尝试替换它:

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';

最新更新