Заменить символы в Access - PullRequest
1 голос
/ 27 мая 2020

Я пытаюсь заменить символы, начинающиеся с указанной c позиции в строке, но, похоже, заменяет и удаляет только символы в начале, скажем, я пытаюсь заменить это:

0000000000

на

00AAAAAA00

Первые два и последние два символа заменять не нужно. Однако при использовании этого запроса

Update Table1
set col1=replace(col1,'0','A',2,8)
where Table1.col2='R';

я получаю это

AAAAAAAA0

1 Ответ

1 голос
/ 27 мая 2020

«Первые два и последние два символа не должны заменяться.»

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(), отрегулируйте положение start и count замен для выполнения.

Update Table1
set col1 = Left(col1, 2) & replace(col1, '0', 'A', 3, 6)
where Table1.col2 = 'R';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...