mysql заменяет символ в позиции

#mysql #stored-procedures

#mysql #хранимые процедуры

Вопрос:

Если у меня есть переменная в хранимой процедуре, подобной этой: объявите str varchar(10); установите str = ‘ABCD’;

Как мне изменить символ в строке в произвольной позиции? Например: в процедуре x равно 3. Мне нужно изменить str, чтобы он стал str = ‘AB * D’;

Это означает, что, поскольку x равно 3, в строке символ в позиции 3 должен быть изменен на ‘*’.

Ответ №1:

Вы можете сделать это с помощью манипуляций со строками:

 select concat(left(str, 2), '*', substring(str, 4, 10))
  

Или вы можете использовать insert() функцию:

 select insert(str, 3, 1, '*')