mysql - 如何在同一列 SQL 上进行乘法替换

标签 mysql select replace workbench

我试图在一次更新中将所有字段“name”替换为“name+1”。例如,我希望 2008 年成为 2009 年,2009 年成为 2010 年,等等。

我这样做只是为了一个替换:

UPDATE table
SET name = REPLACE(name, '2008', '2009');

但是如果我现在想在 2010 年之前替换 2009 年,那将是错误的,因为它也会更改我上次请求的 2009 年。

这是我的数据库:

enter image description here

我如何在一个请求中增加所有这些年份的“名称”而不会发生冲突并且不会在最近一年开始?

感谢您的宝贵时间。

最佳答案

只要列值是纯数字,即使它的数据类型是varchar,您也不需要任何转换。
MySqlimplicit casting :

update tablename
set name = name + 1;

参见 demo .

关于mysql - 如何在同一列 SQL 上进行乘法替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55970386/

相关文章:

mysql - 如何在 SQL 中连接多个表,其对象将使用继承建模?

php - 来自mysql结果的Json编码错误

php - 如何使用 PHP 和 MySQL 删除图像?

javascript - 选择更改图像和链接

替换文本js中的几个标签

php - 检索并更新 WordPress 中的特定行数据

php - 选择当前用户 MySQL PHP 的已批准评论和未批准评论

mysql - Sql 查询 : count distinct row values relative to other row value 问题

string - 包括传递字符串:Powershell脚本中-Replace Variable的符号

python - 如何以更干净的方式进行多个字符串替换? - Python