2016-04-13 15 views
0

我一直在使用CAST調整日期時間,但現在,我想將日期時間調整爲最近的一天。SQL Netezza - 如何將日期時間調整爲最近的日期

例如, 如果我的日期時間是「2012年10月27日21:11:19:207」,我要舍入到「2012年10月28日」 但如果我的日期時間「」 2012-10 -27 09:11:19:207',我想輪到'2012-10-27'。

我一直在谷歌搜索,但無法找到答案。請幫忙。

+0

護理解釋爲什麼要四捨五入日期?通常人們會想要從時間戳中獲取日期。 – Munir

+0

'date_trunc('day',col)' - 至少,Postgres是這麼做的。 –

+0

在我的情況下,每次申請人的個人資料發生變化時都會有數據記錄。 因此,如果我想確切指定在特定時間爲申請人查看哪條記錄,如果我只是採用日期時間,那麼我可能會查看兩條記錄。 我不確定這是否有意義。 – TorontoUser

回答

1

好吧,如果你要舍入到最近的一天,而不是截斷爲當前日期,你可以做一些這樣的情況下邏輯:

select 
     current_timestamp, 
     case 
       when current_timestamp - date_trunc('day',current_timestamp) < '12 hours'::INTERVAL 
       then date_trunc('day',current_timestamp) 
       else date_trunc('day',current_timestamp) + '1 day' ::interval 
     end ROUNDED_DATE; 


TIMESTAMP   ROUNDED_DATE   
------------------- ------------------- 
2016-03-18 09:00:21 2016-03-18 00:00:00