mysql部分替换sql语句的例子

有时候需要对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替换语句、mysql数据库替换语句、sql语句替换字段内容、sql替换语句、sql语句替换字符串,以便于您获取更多的相关知识。

时间: 2024-09-19 00:07:45

mysql部分替换sql语句的例子的相关文章

mysql部分替换sql语句分享_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=16

MySQL中优化sql语句查询常用的30种方法

本篇文章是对MySQL中优化sql语句查询常用的30种方法进行了详细的分析介绍,需要的朋友参考下   1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以

MySQL的常用SQL语句

修改密码 这是常见的大家一般都要用的 首先安装成功了打开cmd –> mysql -u root -p –>输入你的密码 –>修改mysql root用户密码 格式:mysql> set password for 用户名@localhost = password('新密码'); 举例:mysql> set password for root@localhost = password('root'); 上面例子将用户root的密码更改为root: 如果是学习使用一般密码该简单些

mysql-求助MySQL的关于sql语句怎么写??三表的查询~~~请大神进来帮忙~~~~~

问题描述 求助MySQL的关于sql语句怎么写??三表的查询~~~请大神进来帮忙~~~~~ 现在我有三个表: 表1: pre_common_member_profile: uid(用户的uid), gender(性别), birthyear(出生的年), birthmonth(出生的月), birthday(出生的日) 表2: pre_home_friend: uid(用户的uid), fuid(加为好友的uid) 表3: pre_home_friend_request: fuid(发送好友请求

mysql数据库的sql语句常用优化方法

mysql数据库的sql语句常用优化方法 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from t where num=0 3.应尽量避免在 where

mysql的查询sql语句转换成oracle的sql

问题描述 mysql的查询sql语句转换成oracle的sql SELECT CREATE_DATE SUM(ISBIND) AS ISBIND SUM(UNBIND) AS UNBIND SUM(SUBSCRIBE) AS SUBSCRIBE SUM(UNSUBSCRIBE) AS UNSUBSCRIBE FROM ( SELECT N.CREATE_DATE MAX( CASE N.EVENT WHEN 'subscribe' THEN COUNT ELSE 0 END ) SUBSCRIB

mysql排序问题的sql语句

问题描述 mysql排序问题的sql语句 有一个字段A,字段值有可能相同,写一个sql语句,将相同的值尽量分隔开.例如字段A的值:1,1,1,2,3,3:查询结果要求为:1,2,3,1,3,1.请问sql怎么写? 解决方案 没有直接的sql,建议取值后写程序排序 解决方案二: 同意楼上说法,sql没有这样的排序 解决方案三: 一直使用oracle.sqlserver,没用过mysql了. 这个查询,oracle.sqlserver都是可以实现的,说下oracle.sqlserver的实现方式,希

mysql-oracle的sql语句怎么转换成MySQL里的sql语句呢

问题描述 oracle的sql语句怎么转换成MySQL里的sql语句呢 oracle的sql语句怎么转换成MySQL里的sql语句呢 解决方案 http://jingyan.baidu.com/article/ca41422fe01f251eaf99ed6e.html试试这个经验 解决方案二: 在oracle里面拼接成MySQL的语句

MySQL中使用SQL语句对字段进行重命名_Mysql

MySQL中,如何使用SQL语句来对表中某一个字段进行重命名呢?我们将使用alter table 这一SQL语句. 重命名字段的语法为:alter table <表名> change <字段名> <字段新名称> <字段的类型>. 现在我们来尝试把test表中的t_name字段重命名为t_name_new字段. 1.首先查看一下当前test表的结构 mysql> describe test; +------------+-------------+---