mysql - 更新表值时执行日期算术

标签 mysql sql

我尝试了所有可能的括号组合,但我就是无法让这条线工作!

我也尝试寻找解决方案,但似乎找不到类似的东西。我希望有人能澄清我的无知^^。

UPDATE contact_info SET birthday= CURDATE() - TIME_TO_SEC(NOW()) % 50000 WHERE contactID=1;

提前致谢!

最佳答案

您需要将计算的表达式转换为指定天数的INTERVAL。然后使用 DATE_SUB 从当前日期中减去间隔。

UPDATE contact_info
SET birthday = DATE_SUB(CURDATE(), INTERVAL (TIME_TO_SEC(NOW()) % 50000) DAY)
WHERE contactID = 1;

关于mysql - 更新表值时执行日期算术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35510954/

相关文章:

python - 需要在按不匹配日期分组的 2 个索引上转置一些 SQL 值(SQL 和 Python)

sql - Oracle SQL Developer - 错误 : "FROM keyword not found where expected"

使用 UPDATE CASE WHEN 保存重新排序列表时 MySQL 挂起

php - 使用正则表达式检查 MySQL 查询值中的 '%' 字符

php - PHP 中的 MySQL 更新查询

python - 使用 SQLAlchemy 进行多重联接

c# - 通过 SqlDataAdapter 填充 DataSet 时超时

php - 如何通过 php 读取 Windows unicode 文件并将它们存储在 utf-8 数据库中?

MySQL 每月限制 5 个

MySQL触发器在删除操作之前插入另一个表