当前位置:首页 > Mysql教程 > 列表

mysql 中replace()批量替换指定字符语句

发布:smiling 来源: PHP粉丝网  添加日期:2014-10-15 10:43:23 浏览: 评论:0 

本文章介绍了关于一个mysql 中replace()批量替换指定字符语句的,我们利用了update set和replace一起工作,这样就可以实现我们想要的东西了.

将cdb_pms表subject字段中的Welcom to替换成 欢迎光临,代码如下:

  1. UPDATE `cdb_pms` 
  2. SET `subject` = REPLACE(`subject`, 'Welcome to''欢迎光临'
  3. WHERE INSTR(`subject`,'Welcome to') > 0 

替换cdb_posts表的message字段,将“viewthread.php?tid=3989”替换成“viewthread.php?tid=16546”,代码如下:

  1. UPDATE `cdb_posts` 
  2. SET `message`= REPLACE(`message`, 'viewthread.php?tid=3989''viewthread.php?tid=16546'
  3. WHERE INSTR(`message`,'viewthread.php?tid=3989') > 0 ; 

删除所有的空格,代码如下:

UPDATE `es_product`   SET `pro_pub_time` = TRIM(`pro_pub_time`)

删除所有饱含'['或者']'或者'.'的字符,代码如下:

  1. UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '[','')   WHERE INSTR(`pro_pub_time`,'[') > 0 
  2. UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, ']','')   WHERE INSTR(`pro_pub_time`,']') > 0 
  3. UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '.','-')   WHERE INSTR(`pro_pub_time`,'.') > 0   --phpfensi.com 

替换所有含中文'-'的为英文'-',代码如下:

  1. UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '-','-')   WHERE INSTR(`pro_pub_time`,'-') > 0  

将所有的年月都替换成'-',代码如下:

  1. UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '年','-')   WHERE INSTR(`pro_pub_time`,'年') > 0 
  2. UPDATE `es_product`   SET `pro_pub_time` = REPLACE(`pro_pub_time`, '月','-')   WHERE INSTR(`pro_pub_time`,'月') > 0 

将所有'2005-04-'这种类型的替换成'2005-04-01',代码如下:

  1. UPDATE `es_product`   SET `pro_pub_time` = CONCAT( `pro_pub_time`, '01')   WHERE SUBSTRING_INDEX( `pro_pub_time`, '-', -1) = '' AND LENGTH(`pro_pub_time`) > 0 AND LENGTH(`pro_pub_time`) > 5 

将所有'2005-'这种类型替换成'2005-01-01',代码如下:

  1. UPDATE `es_product`   SET `pro_pub_time` = CONCAT( `pro_pub_time`, '01-01'WHERE INSTR(`pro_pub_time`,'-') > 0 AND   LENGTH(`pro_pub_time`) = 5 

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

  1. UPDATE `es_product`   SET `pro_pub_time` = CONCAT( `pro_pub_time`, '-01'WHERE INSTR(`pro_pub_time`,'-') > 0 AND   LENGTH(`pro_pub_time`) < 8 

将所有'2005'这样的改成'2005-01-01',代码如下:

  1. UPDATE `es_product`   SET `pro_pub_time` = CONCAT(`pro_pub_time`,'-01-01'WHERE INSTR(`pro_pub_time`,'-') = 0 AND   LENGTH(`pro_pub_time`) = 4 

最后将所有'2005-01-01'格式化成'2005年01月',代码如下:

  1. UPDATE `es_product`   SET `pro_pub_time` = DATE_FORMAT(`pro_pub_time`,'%Y年%m月'WHERE INSTR(`pro_pub_time`,'-') > 0

Tags: replace()批量替换 mysql批量替换

分享到: