2017-08-14 186 views
1

目前我有時間戳現在這顯示一列: 週二,2016年8月2日下午1:00PostgreSQL的時間戳

這些標記不限於1個日期,但它顯示了不同日期用不同的時間。我想要做的是編輯這些時間戳,如果顯示的時間超過當天下午10點20分,我想將時間部分更改爲下午10點20分。

例如: 8月2日星期二2016 23時21 PM 變化週二年,2016年8月2日22時20 PM 星期二2016年8月3日下午1時沒有變化

從本質上講,任何超過22點20爲天修改爲22:20,而以前的任何內容都將保持原樣。

+0

看看手冊的這一部分:https://www.postgresql.org/docs/9.6/static/functions-datetime.html#FUNCTIONS-DATETIME-EXTRACT的好消息有很多操作上日期。基本上提取時間分量並將其與22:20進行比較,如果結束時間爲22:20,則創建一個新日期,並將其添加到提取日期。 –

回答

0
update table1 
    set ts = date_trunc('day', ts) + '22:20:00'::interval 
    where ts - date_trunc('day', ts) > '22:20:00'::interval