我正在尝试创建月度报告,以便于审核和比较某些流程的运行时间。
所需的原始数据存储在Oracle 11g数据库表中,运行时是STARTDATE
和ENDDATE
之间的差异,它们都被格式化为DD.MM.YYYY HH24:MI:SS
。
为流程的每次运行创建一个日期集,因此在该表中存储了大量的日期集(每个流程每小时有几个数据集)。
现在通常只需使用GROUP BY
子句就可以了,但是,在这种情况下我无法使用它。最有可能的原因是DATE
列涉及其特殊格式。
是否有可能按照STARTDATE
列中存储的月份对数据集进行分组?我已经尝试过使用我通过谷歌搜索找到的一些Oracle日期函数,例如MONTH()
和EXTRACT()
,但到目前为止,我没有随处可见。
我非常感谢有关此问题的任何提示。
先致谢谢,并致以诚挚的问候, daZza
答案 0 :(得分:0)
要在Oracle中获取日期月份,您可以将该部分转换为字符串并使用:
select
to_char(startdate, 'yyyymm') as startmonth,
....
from ...
group by to_char(startdate, 'yyyymm');