MySQL同表更新:将date列日期减3天后写入date_send列
嗨,这个需求很容易实现~不过不同数据库的日期函数语法有点不一样,我给你列几个主流数据库的写法,你对应自己用的选就行:
MySQL
可以用DATE_SUB()函数,或者直接用日期减间隔的写法,两种都能达到效果:
-- 写法1:用DATE_SUB函数 UPDATE your_table_name SET date_send = DATE_SUB(date, INTERVAL 3 DAY); -- 写法2:直接减间隔 UPDATE your_table_name SET date_send = date - INTERVAL 3 DAY;
PostgreSQL
用INTERVAL关键字来指定天数:
UPDATE your_table_name SET date_send = date - INTERVAL '3 days';
SQL Server
用DATEADD()函数,第三个参数传负数表示减去天数:
UPDATE your_table_name SET date_send = DATEADD(day, -3, date);
小提醒
- 记得把上面的
your_table_name替换成你实际的数据表名称哦 - 如果只需要更新特定行,一定要加上
WHERE条件(比如WHERE id = 100),避免不小心更新了全表的所有数据
内容的提问来源于stack exchange,提问作者Alex
相关产品推荐
相关产品推荐

