sql - 基于日期和时间派生
问题描述
我有一个 TimeStamp 类型的 CREATE_DATE 列,具有以下值:
24-MAR-17 06.37.58.415000000 PM
01-APR-17 04.37.06.000000000 AM
我需要根据时间得出一个列值
如果下午 2:00 之间的上午 12:00 列应该是同一日期,否则列应该是一天加上日期。
如何做到这一点?
解决方案
我假设您只想要日期组件。
我建议只增加 10 小时并转换为日期:
select trunc(create_date + interval '10' hour) as the_date
这是如何运作的?下午 1:30 后 10 小时。是晚上 11:30,所以是同一天。下午 2:01 后 10 小时是凌晨 12:01,即下一个日期。
推荐阅读
- python - 如何获得属性错误棒:“numpy.ndarray”对象没有属性“iloc”
- sql - 为两列之间的差异创建 SQL 代码并更改表
- gerrit - 从 gerrit api 通过 change_jd 获取修订
- mongodb - 如何设计模式以优化 UI 过滤器的填充和过滤?
- javascript - 将 Firebase 用户 uid 存储在会话存储中是一个漏洞吗?在客户端浏览器上的 javascript 中
- typescript - TypeScript 不遵循代码逻辑:无法调用可能“未定义”的对象
- python - 如何按索引对数据框列进行操作
- php - Twilio 会议录音
- c++ - 如何在 C++ 提案中编写引用?
- html - 如何在Angular 9中延迟加载同一页面的各个组件?