首页 > 解决方案 > 在 MySQL 插入期间清理

问题描述

我目前正在做这样的 MySQL 插入:

INSERT INTO RESI (MarketingRemarks) 
SELECT PropertyInformation FROM `property_res`;

然后我运行独立命令来清理 RESI 表中的任何奇怪字符,如下所示:

UPDATE RESI SET MarketingRemarks = REPLACE(MarketingRemarks, '“', '"');
UPDATE RESI SET MarketingRemarks = REPLACE(MarketingRemarks, '”', '"');
UPDATE RESI SET MarketingRemarks = REPLACE(MarketingRemarks, '–', '-');
UPDATE RESI SET MarketingRemarks = REPLACE(MarketingRemarks, '½', '1/2');
UPDATE RESI SET MarketingRemarks = REPLACE(MarketingRemarks, '’', '\'');

拥有所有这些查询似乎非常低效。有没有办法将它组合成一个 INSERT 语句?

我尝试了多种方法将 REPLACE 放入 INSERT 语句,但没有运气。

标签: mysql

解决方案


您可以在子句中使用replace函数,如下所示:select

INSERT INTO RESI (MarketingRemarks) 
SELECT REPLACE(REPLACE(PropertyInformation, '½', '1/2'), '“', '"') FROM `property_res`;

并且您需要replace像@Arquillian 提供的示例那样构建函数链


推荐阅读