MYSQL中批量替换某个字段的部分数据

1, UPDATE 表A   SET 字段B = CONCAT( '100-', 字段B)

说明:在字段前添加前缀

2, UPDATE 表A SET 字段B = replace(字段B, 'aaa', 'bbb')

说明:把表A 字段B中的 aaa批量替换成bbb。

 
替换空值:
 
update table
set column=''
where column is null 

 删除所有的空格

UPDATE 表A SET 字段B   = TRIM(字段B);

删除所有饱含'['或者']'或者'.'的字符

UPDATE 表A SET 字段B = REPLACE(字段B, '[','')   WHERE INSTR(字段B,'[') > 0;

替换所有含中文'-'的为英文'-'
UPDATE 表A   SET 字段B = REPLACE(字段B, '-','-')   WHERE INSTR(字段B,'-') > 0;

将所有的年月都替换成'-'

UPDATE 表A   SET 字段B = REPLACE(字段B, '年','-')   WHERE INSTR(字段B,'年') > 0;
UPDATE 表A   SET 字段B = REPLACE(字段B, '月','-')   WHERE INSTR(字段B,'月') > 0;

将所有'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;

将所有'2014-'这种类型替换成'2014-01-01'

UPDATE 表A   SET 字段B = CONCAT( 字段B, '01-01') WHERE INSTR(字段B,'-') > 0 AND   LENGTH(字段B) = 5;

将所有 饱含'-',但是位数小于8的改成追加'-01'

UPDATE 表A   SET 字段B = CONCAT( 字段B, '-01') WHERE INSTR(字段B,'-') > 0 AND   LENGTH(字段B) < 8;

将所有'2014'这样的改成'2014-01-01'

UPDATE 表A   SET 字段B = CONCAT(字段B,'-01-01') WHERE INSTR(字段B,'-') = 0 AND   LENGTH(字段B) = 4;

最后将所有'2014-01-01'格式化成'2014年01月'

UPDATE 表A   SET 字段B = DATE_FORMAT(字段B,'%Y年%m月') WHERE INSTR(字段B,'-') > 0;

猜你喜欢

转载自gxl-ct001.iteye.com/blog/1975516