mysql部分替换sql语句分享
更新时间:2011年11月29日 22:50:06 作者:
有时候需要对mysql中的内容进行部分替换,那么可以参考下面的文章。
将cdb_pms表subject字段中的Welcom to替换成 欢迎光临
复制代码 代码如下:
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`)
删除所有饱含'['或者']'或者'.'的字符
复制代码 代码如下:
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-canal-rabbitmq 安装部署超详细教程
这篇文章主要介绍了mysql-canal-rabbitmq 安装部署超详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2021-03-03MySQL存储表情时报错:java.sql.SQLException: Incorrect string value:‘
这篇文章主要给大家介绍了关于MySQL存储表情时报错:java.sql.SQLException: Incorrect string value: '\xF0\x9F\x92\xA9\x0D\x0A...'的解决方法,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面来一起看看吧。2018-04-04MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法详解
本篇文章是对MySQL数据库INSERT、UPDATE、DELETE以及REPLACE语句的用法进行了详细的分析介绍,需要的朋友参考下2013-06-06与MSSQL对比学习MYSQL的心得(八)--插入 更新 删除
这一篇《与MSSQL对比学习MYSQL的心得(八)》将会讲解MYSQL的插入、更新和删除语句2014-08-08Mysql排序和分页(order by&limit)及存在的坑
这篇文章主要介绍了Mysql排序和分页(order by&limit)及存在的坑,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-09-09
最新评论