如何将 postgres 的列日期更新到提前几天
How to update a column date of postgres to some days ahead
我使用 postgres 作为我的数据库,我有一个 table 有一个日期列。
此列中的当前值为 2021-04-1 17:19:08
我想更新此列的值并将日期提前 20(或任何其他天数),这样新值将是 2021-04-20 17:19:08
我没有手动执行的原因是因为我有太多行要向前移动,所以我需要对此进行查询,并且我需要自由选择提前的天数
提前致谢
您可以使用 INTERVAL
-
添加天数
SELECT CURRENT_DATE + INTERVAL '20 days';
在 Nikhil Patil 的帮助下,我设法创建了下一个查询:
select 'UPDATE itpserver.managed_incidents SET trigger_time = ''' || trigger_time || ''' where id = ' || id::text || ';'
from (
select id, trigger_time + INTERVAL '120 days' trigger_time
FROM itpserver.managed_incidents
) a
where 1=1
group by id,trigger_time
order by id
此查询创建了我需要的所有更新查询,以便更新我的 table 中的所有行。 (trigger_time 是日期列)。
在它创建了我需要的所有更新查询之后,我 运行 所有这些同时作为 sql 脚本
我使用 postgres 作为我的数据库,我有一个 table 有一个日期列。 此列中的当前值为 2021-04-1 17:19:08
我想更新此列的值并将日期提前 20(或任何其他天数),这样新值将是 2021-04-20 17:19:08
我没有手动执行的原因是因为我有太多行要向前移动,所以我需要对此进行查询,并且我需要自由选择提前的天数
提前致谢
您可以使用 INTERVAL
-
SELECT CURRENT_DATE + INTERVAL '20 days';
在 Nikhil Patil 的帮助下,我设法创建了下一个查询:
select 'UPDATE itpserver.managed_incidents SET trigger_time = ''' || trigger_time || ''' where id = ' || id::text || ';'
from (
select id, trigger_time + INTERVAL '120 days' trigger_time
FROM itpserver.managed_incidents
) a
where 1=1
group by id,trigger_time
order by id
此查询创建了我需要的所有更新查询,以便更新我的 table 中的所有行。 (trigger_time 是日期列)。
在它创建了我需要的所有更新查询之后,我 运行 所有这些同时作为 sql 脚本