SQL Netezza - 如何将日期时间舍入到最近的一天

时间:2016-04-13 16:08:18

标签: sql netezza

我一直在使用CAST来绕过日期时间,但现在,我想将日期时间四舍五入到最近的一天。

例如, 如果我的约会时间是'2012-10-27 21:11:19:207',我想要回合'2012-10-28' 但如果我的约会时间是“2012-10-27 09:11:19:207”,我想要回到'2012-10-27'。

我一直在谷歌搜索,但找不到答案。请帮忙。

1 个答案:

答案 0 :(得分: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