首页 > 解决方案 > 基于日期和时间派生

问题描述

我有一个 TimeStamp 类型的 CREATE_DATE 列,具有以下值:

24-MAR-17 06.37.58.415000000 PM
01-APR-17 04.37.06.000000000 AM

我需要根据时间得出一个列值

如果下午 2:00 之间的上午 12:00 列应该是同一日期,否则列应该是一天加上日期。

如何做到这一点?

标签: sqloracletimestamp

解决方案


我假设您只想要日期组件。

我建议只增加 10 小时并转换为日期:

select trunc(create_date + interval '10' hour) as the_date

这是如何运作的?下午 1:30 后 10 小时。是晚上 11:30,所以是同一天。下午 2:01 后 10 小时是凌晨 12:01,即下一个日期。


推荐阅读