mysql 在位置替换字符

use*_*182 1 mysql stored-procedures

如果我在这样的存储过程中有一个变量:declare str varchar(10); 设置 str = 'ABCD';

如何更改字符串中任意位置的字符?例如:在程序中 x 是 3。我需要改变 str 所以它变成 str = 'AB*D';

这意味着,由于 x 等于 3,因此在字符串中,位置 3 处的字符应更改为 '*'。

Gor*_*off 7

你可以通过字符串操作来做到这一点:

select concat(left(str, 2), '*', substring(str, 4, 10))
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用该insert()功能:

select insert(str, 3, 1, '*')
Run Code Online (Sandbox Code Playgroud)