Postgres - 从给定的时间戳获取午夜



我有三timestamptz列:due_atstarts_atends_at列。我需要更新starts_atends_at,以便它们与due_at日期相同,只是时间分别为12:00 AM11:59 PM

UPDATE table SET starts_at = due_at;

考虑:

update mytable set
starts_at = date_trunc('day', due_at),        
ends_at   = date_trunc('day', due_at) + interval '1' day - interval '1' minute

您也可以将其表述为:

update mytable set
starts_at = date_trunc('day', due_at),        
ends_at   = date_trunc('day', due_at) + interval '23 hours 59 minutes'

最新更新