SQL批量替换列值[重复]

Posted

技术标签:

【中文标题】SQL批量替换列值[重复]【英文标题】:SQL mass replace column value [duplicate] 【发布时间】:2014-07-29 07:55:22 【问题描述】:

我有一个表名为mybb_users 的数据库。

所有用户都有一个名为avatar 的字段名称。有些用户的头像设置为

 http://graph.facebook.com/userid/picture?width=250&height=250. 

我想将使用 facebook 图片的人的所有宽度和高度大规模替换为这样的宽度和高度。不幸的是,我不知道该怎么做,因为用户 ID 是随机的。无论如何我可以将width=250&height=250 替换为width=140&height=140 吗?

谢谢!

【问题讨论】:

我们在谈论哪个 RDBMS? mysql 是的对不起,它的 MySQL :) 你要找的是字符串函数REPLACE。 【参考方案1】:

您可以使用REPLACE 函数来做到这一点:

UPDATE mybb_users
SET avatar = REPLACE(`avatar`, 'width=250&height=250', 'width=140&height=140')
WHERE avatar like '%graph.facebook%'

更多信息请查看:http://dev.mysql.com/doc/refman/5.6/en/string-functions.html#function_replace

【讨论】:

感谢您的快速回复,这只会覆盖特定部分吗? 是的。它仅在avatar 列中将width=250&height=250 替换为width=140&height=140 太棒了,再次感谢 :)【参考方案2】:

你可以像这样只更新你想要的部分:

UPDATE mybb_users SET avatar = REPLACE(avatar, 'width=250&height=250', 'width=140&height=140')

这应该用 140 替换所有出现的 250

【讨论】:

以上是关于SQL批量替换列值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

SQL批量查询和替换

SQl Server 2005怎么批量替换用户名

如何批量替换Excel中的重复项?

sql批量替换及替换某字段的前N个字符

SQL替换语句 批量修改增加删除字段内容

[JS]在js中进行正则替换显示高亮处理中,重复替换问题,可以使用js自带的批量替换,则不会重复替换