我有一个简单的MYSQL更新查询 -
UPDATE Aircraft
SET Type = replace(Type, 'A319 *', 'A319-*');
当前数据类似于
A319 111
A319 131
A320 211
A320 214
我希望将其调整为
A319-111
A319-131
A320-211
A320-214
我知道这很简单,但我无法弄清楚!
来自评论:
它的所有空客和波音飞机,从A319到A380,从B707到B787
答案 0 :(得分:2)
此处的一种解决方法是通过构建要用作替换的字符串来更新Type
列。这将是前四个字符,例如'A319'
,后跟短划线,后跟原始列的第六个到最后一个字符。
UPDATE Aircraft
SET Type = CONCAT(SUBSTRING(Type, 1, 4),
'-',
SUBSTRING(Type, 6))
WHERE Type REGEXP 'A[0-9][0-9][0-9]'
答案 1 :(得分:1)
UPDATE Aircraft
SET Type = replace(Type, 'A319', 'A319-') WHERE Type LIKE 'A319%';
UPDATE Aircraft
SET Type = replace(Type, 'A320', 'A320-') WHERE Type LIKE 'A320%';
等
答案 2 :(得分:0)
我不知道你的其他数据是怎么回事,但我想你会搜索这个?
UPDATE Aircraft
SET Type = REPLACE( type, ' ', '-')
WHERE type LIKE 'A3%'
并替换所有空格。 或者您有更多数据示例?