我有一个带有小时维度(时间维度)的星型模式数据库,其中包含以下列:
ID, ON_HOUR, ON_DAY, IN_MONTH, IN_YEAR然后我查询数据库,并希望根据这个小时维度在给定日期间隔内找到所有条目。
但是,将ON_DAY属性与间隔天数等与IN_MONTH和IN_YEAR进行比较,通常会遇到这样的情况:如果间隔超过几个月,则无法接收数据。因此,我需要将这些值转换为时间戳,但是我正在查询数据库,那么如何正确地比较给定的时间戳和时间数据呢?我在数据库中没有存储日期或时间戳-我应该更改这个吗?
现在,我最好的选择是:
to_timestamp('H.IN_YEAR-H.IN_MONTH-H.ON_DAY H.ON_HOUR:00:00', 'YYYY-MM-DD hh24:mi:ss')然而,这似乎不起作用,而且看起来也很诡诈,所以我并没有真正期望它.
在给定的日期间隔内获得条目的最佳方法是什么?
发布于 2016-04-01 09:51:16
您似乎是在将文字字符串传递到时间戳函数中--您需要使用concat函数作为连接字符串传递值。尝试下面的代码片段
(H.IN_YEAR||H-IN_MONTH||H.ON_DAY||H.ON_HOUR,'YYYMMDDHH24')https://stackoverflow.com/questions/36352992
复制相似问题