我有一列包含以下格式的字符串值AB12345678
:两个字母后跟 8 个数字。
5
我需要编写一个 MySQL 查询来在每组 4 位数字变为 之前AB12345678
插入a AB5123455678
。
我很接近,以下内容适用于列中的一个值,但不适用于多个值 - 所有值都使用看起来相同的第一个值写入。
SELECT @twoeight := os_grid_ref FROM projects WHERE os_grid_ref REGEXP '[A-Z]{2}[0-9]{4}[0-9]{4}';
SELECT @prefix1 := SUBSTR(@twoeight,1,2);
SELECT @part1 := SUBSTR(@twoeight,3,4);
SELECT @part2 := SUBSTR(@twoeight,7,4);
UPDATE projects SET os_grid_ref=CONCAT(@prefix1,'5',@part1,'5',@part2) WHERE os_grid_ref REGEXP '[A-Z]{2}[0-9]{4}[0-9]{4}';
我需要调整什么,以便查询可以单独修改列中的每个值。
谢谢。