使用日期列按月分组(DD.MM.YYYY HH24:MI:SS)

时间:2014-09-23 09:19:10

标签: sql oracle date datetime group-by

我正在尝试创建月度报告,以便于审核和比较某些流程的运行时间。

所需的原始数据存储在Oracle 11g数据库表中,运行时是STARTDATEENDDATE之间的差异,它们都被格式化为DD.MM.YYYY HH24:MI:SS

为流程的每次运行创建一个日期集,因此在该表中存储了大量的日期集(每个流程每小时有几个数据集)。

现在通常只需使用GROUP BY子句就可以了,但是,在这种情况下我无法使用它。最有可能的原因是DATE列涉及其特殊格式。

是否有可能按照STARTDATE列中存储的月份对数据集进行分组?我已经尝试过使用我通过谷歌搜索找到的一些Oracle日期函数,例如MONTH()EXTRACT(),但到目前为止,我没有随处可见。

我非常感谢有关此问题的任何提示。

先致谢谢,并致以诚挚的问候, daZza

1 个答案:

答案 0 :(得分:0)

要在Oracle中获取日期月份,您可以将该部分转换为字符串并使用:

select 
  to_char(startdate, 'yyyymm') as startmonth,
  ....
from ...
group by to_char(startdate, 'yyyymm');