编辑:添加了有关date1为时间戳的信息
我需要增加日期,但是间隔基于我要增加的日期与表上另一个日期之间的差,但保留date1小时和分钟。例如:
Create myTable
( id serial,
date1 timestamp,
date2 date
)
因此,如果date1 ='2020-01-10 10:30:00'和date2 ='2020-03-08'我需要date1为'2020-03-08 10:30:00'
Update myTable set date1 = date1+interval (date2-date1)
语法要求在值之间使用单引号(例如:日期+间隔“ 30天”)。如何将(date2-date1)中的结果包装在单引号中?我尝试了很多方法都没有成功:
Update myTable set date1 = date1+interval chr(39)||cast((date2-date1) as varchar)|| ' days'|| chr(39)
Update myTable set date1 = date1+interval $$||cast((date2-date1) as varchar)|| ' days'||$$
Update myTable set date1 = date1+interval ''||cast((date2-date1) as varchar)|| ' days'||''
如何正确执行此操作?