例如,如果我有 string '012345678'
,并且我需要将位置号 4 更新为另一个字节/字符'x'
,例如:
INSERT INTO foo(pk,pos) VALUES('abcdefghi',5)
ON DUPLICATE KEY UPDATE
pk = CONCAT(
SUBSTRING(pk,1,VALUES(pos)-1),
SUBSTRING(VALUES(pk),VALUES(pos),1),
SUBSTRING(pk,VALUES(pos)+1)
);
-- simpler example:
SELECT CONCAT(SUBSTRING('abcdefghi',1,5-1),SUBSTRING('123456789',5,1),SUBSTRING('abcdefghi',5+1));
-- abcd5fghi
如何在VARBINARY
数据类型中做到这一点?
您可以使用以下
INSERT
功能:因此,如果您想替换字符串中第 4 位的一个字符
abcdefghi
,表达式将如下所示:在此演示中亲自查看。
该表达式只会返回一个修改后的字符串。必要时在作业中使用它来实际写出结果。