MYSQL中批量替换某个字段的部分数据
1,在字段前添加前缀
UPDATE 表A SET 字段B = CONCAT( '100-', 字段B);
2,把 `表 A` 的 `字段B` 中的 'aaa 批量替换成 'bbb'
UPDATE 表A SET 字段B = replace(字段B, 'aaa', 'bbb');
3,替换空值 (NULL)为空字符串
UPDATE `table` SET `column` = '' WHERE `column` IS NULL;
4,删除所有的空格
UPDATE 表A SET 字段B = TRIM(字段B);
5,删除所有饱含 '[' 或者 ']' 或者 '.' 的字符
UPDATE 表A SET 字段B = REPLACE(字段B, '[', '') WHERE INSTR(字段B, '[' ) > 0;
6,替换所有含中文'-'的为英文'-'
UPDATE 表A SET 字段B = REPLACE(字段B, '-', '-') WHERE INSTR(字段B, '-') > 0;
7,将所有的 '年', '月' 都替换成 '-'
UPDATE 表A SET 字段B = REPLACE(字段B, '年', '-') WHERE INSTR(字段B, '年') > 0; UPDATE 表A SET 字段B = REPLACE(字段B, '月', '-') WHERE INSTR(字段B, '月') > 0;
8,将所有 '2014-04-' 这种类型的替换成 '2014-04-01'
UPDATE 表A SET 字段B = CONCAT( 字段B, '01') WHERE SUBSTRING_INDEX(字段B, '-', -1) = '' AND LENGTH(字段B) > 0 AND LENGTH(字段B) > 5;
9,将所有 '2014-' 这种类型替换成 '2014-01-01'
UPDATE 表A SET 字段B = CONCAT(字段B, '01-01') WHERE INSTR(字段B, '-') > 0 AND LENGTH(字段B) = 5;
10,将所有包含 '-',但是位数小于 8 的改成追加 '-01'
UPDATE 表A SET 字段B = CONCAT( 字段B, '-01') WHERE INSTR(字段B, '-') > 0 AND LENGTH(字段B) < 8;
11,将所有 '2014' 这样的改成 '2014-01-01'
UPDATE 表A SET 字段B = CONCAT(字段B, '-01-01') WHERE INSTR(字段B, '-') = 0 AND LENGTH(字段B) = 4;
12,最后,将所有 '2014-01-01' 格式化成 '2014年01月'
UPDATE 表A SET 字段B = DATE_FORMAT(字段B, '%Y年%m月') WHERE INSTR(字段B, '-') > 0;
原文链接:https://blog.csdn.net/gxl_ct001/article/details/84499514
通往牛逼的路上,在意的只有远方!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具