有Ebat专栏

80x150
100x150
200x200


UPDATE table SET Ebat = CONCAT(SUBSTRING(Ebat, 1, 3), ' ', 'X', ' ', SUBSTRING(Ebat,5,7));

该查询完成

完成错误写入
80x X 00
100 x 150
200 X 200

那是真实的:
80 X 150
100 X 150
200 X 200

为什么我可以写真实的代码?

最佳答案

replace()会更容易吗?

update t
    set ebat = replace(ebat, 'x', ' X ');

您的版本存在的问题是x之前的部分位置不同。它并不总是位于角色位置4。您没有考虑到这一点。

10-07 17:49