mysql - 在 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 语句,但没有运气。
解决方案
您可以在子句中使用replace
函数,如下所示:select
INSERT INTO RESI (MarketingRemarks)
SELECT REPLACE(REPLACE(PropertyInformation, '½', '1/2'), '“', '"') FROM `property_res`;
并且您需要replace
像@Arquillian 提供的示例那样构建函数链
推荐阅读
- javascript - 向以太坊网络发出 Http 请求
- django - Django:如何添加当请求方法为 OPTIONS 时将返回 200 的中间件
- javascript - 组件工作正常被渲染但在快照测试中失败
- java - 数据结构 - 外部文件排序
- python - python 套接字服务器是否与 Web 客户端一起使用?
- java - 升级到 Spring Boot v2.5.2 后应用程序未启动
- react-native - MediaLibrary.saveToLibraryAsync 错误:无法将文件复制到外部存储中
- python - tkinter ttk 主题:_tkinter.TclError:不支持图像文件格式“svg”
- jquery - 如何使用 Jquery 检查 li 复选框值?
- javascript - 在 vue js / nuxt js 中随机循环一些元素