mysql替换语句 部分替换
update tabel(表名) set Fields(字段名)=replace( Fields,’原内容’,'替换成的内容’)
UPDATE `cdb_pms`
SET `subject` = REPLACE(`subject`, ‘Welcome to’, ‘欢迎光临’)
WHERE INSTR(`subject`,’Welcome to’) > 0
替换cdb_posts表的message字段,将“viewthread.php?tid=3989”替换成“viewthread.php?tid=16546”
UPDATE `cdb_posts`
SET `message`= REPLACE(`message`, ‘viewthread.php?tid=3989′, ‘viewthread.php?tid=16546′)
WHERE INSTR(`message`,’viewthread.php?tid=3989′) > 0 ;
删除所有的空格
UPDATE `es_product` SET `pro_pub_time` = TRIM(`pro_pub_time`)
lower或者upper
删除所有饱含’['或者']‘或者’.'的字符
UPDATE `es_product` SET `pro_pub_time` = REPLACE(`pro_pub_time`, ‘[','') WHERE INSTR(`pro_pub_time`,'[') > 0
UPDATE `es_product` SET `pro_pub_time` = REPLACE(`pro_pub_time`, ']‘,”) WHERE INSTR(`pro_pub_time`,’]') > 0
UPDATE `es_product` SET `pro_pub_time` = REPLACE(`pro_pub_time`, ‘.’,'-’) WHERE INSTR(`pro_pub_time`,’.') > 0
替换所有含中文’-'的为英文’-’
UPDATE `es_product` SET `pro_pub_time` = REPLACE(`pro_pub_time`, ‘-’,'-’) WHERE INSTR(`pro_pub_time`,’-’) > 0
将所有的年月都替换成’-’
UPDATE `es_product` SET `pro_pub_time` = REPLACE(`pro_pub_time`, ‘年’,'-’) WHERE INSTR(`pro_pub_time`,’年’) > 0
UPDATE `es_product` SET `pro_pub_time` = REPLACE(`pro_pub_time`, ‘月’,'-’) WHERE INSTR(`pro_pub_time`,’月’) > 0
将所有’2005-04-’这种类型的替换成’2005-04-01′
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′
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′
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′
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月’
UPDATE `es_product` SET `pro_pub_time` = DATE_FORMAT(`pro_pub_time`,’%Y年%m月’) WHERE INSTR(`pro_pub_time`,’-') > 0
批量替换 MySQL 指定字段中的字符串是数据库
应用中很常见的需求,但是有很多初学者在遇到这种需求时,通常都是用脚本来实现;其实,MySQL 内置的有批量替换语法,效率也会高很多;想了解具体方法
,继续阅读本文吧
批量替换的具体语法是:
Code:
UPDATE 表名 SET
指定字段 = replace(指定字段, ’要替换的字符串’, ’想要的字符串’)
WHERE 条件;
如果你想把 article 表中 ID 小于5000的记录,content 字段中“解决”替换成“解放”,那么语法就是:
Code:
UPDATE article SET
content = replace(content, ’解决’, ’解放’)
WHERE ID<5000;
UPDATE `fengsh_shoplist`
Mysql数据库like和REPLACE混用来实现字符查找替换
学习最好的方法莫过于实践,最快的途径莫过于示例,这段时间网站搬家,迫使我不断去看一些SQL操作方法,最终记载于此,以便将来参考。
1、时间操作
例:将GMT时间更改为GMT+8,可用INTERVAL把一段时间加到一个字段上。
UPDATE `wpcn_posts` SET `post_date` = `post_date_gmt` + INTERVAL 8 HOUR WHERE `post_date_gmt` = `post_date`
本例是为了对付Bo-Blog搬家到WP时大部分时间记录都没有被正确转换到GMT+8时区的问题。
2、字符查找替换
例:将某个图片的错误文件名更改为正确文件名。
UPDATE `wpcn_comments` SET `comment_content` = REPLACE ( `comment_content`, 'emot/ok', 'emot/pig' ) WHERE `comment_content` LIKE '%emot/ok%'
本例是为了对付Bo-Blog的pig.gif图片文件名被错误替换为ok.gif的问题,用到了REPLACE函数和LIKE操作符,注意LIKE后面的字段用%%匹配,而非*。
—————————————————-
继续阅读…