如何在oracle sql中获取小时和分钟?

如何在oracle sql中获取小时和分钟?,sql,oracle,oracle-sqldeveloper,Sql,Oracle,Oracle Sqldeveloper,我想分别获取和显示日期、小时和分钟(3列:日期、小时和分钟) 我的脚本不起作用。如何解决这个问题?多谢各位 下面是sql: select trunc(t.create_time, 'DD') as createdate ,trunc(t.close_time, 'DD') as closedate ,datepart(hour, t.close_time()) as hours ,datepart(minute, t.cl

我想分别获取和显示日期、小时和分钟(3列:日期、小时和分钟)

我的脚本不起作用。如何解决这个问题?多谢各位

下面是sql:

 select trunc(t.create_time, 'DD') as createdate
            ,trunc(t.close_time, 'DD') as closedate
            ,datepart(hour, t.close_time()) as hours
            ,datepart(minute, t.close_time()) as minutes
            ,count(t.close_time) as total
      from app_account.otrs_ticket t
      left join app_account.otrs_user u
      on t.create_user_id=u.id
      where u.id not in (15,7,31,49,50,52,62,66,69,106,17,24,44,32,33,55,22,29,30,47,45,53,70,74,109,1,2,10,23,68,80,20,21,56,108,67)
      group by trunc(t.create_time, 'DD')
              ,trunc(t.close_time, 'DD')
              ,datepart(hour, t.close_time())
              ,datepart(minute, t.close_time())
      order by trunc(t.create_time, 'DD') desc

Oracle函数是
extract()
to_char()

我不确定
()
关闭时间之后是什么,但它们似乎没有必要。

我发现
to_char()
函数是转换和提取日期部分最灵活的函数

下面是一个从sysdate提取各种元素的示例:

select to_char(sysdate, 'YYYY') as year, 
       to_char(sysdate, 'MM') as month, 
       to_char(sysdate, 'DD') as day,
       to_char(sysdate, 'HH24') as hour,
       to_char(sysdate, 'MI') as minute
from dual

您可以提供不同的格式参数以获得所需的任何结果。

我测试了脚本,发现一个错误:ORA-30076:提取源30076的提取字段无效。00000-“提取源的提取字段无效”*原因:提取源不包含指定的提取字段。这些函数在Oracle中已经使用了一段时间:。是否可能
t.close\u time
不是日期/时间值?
extract
仅适用于
TIMESTAMP
INTERVAL
数据类型,不在
日期
类型上。@GordonLinoff好吧,从
日期
值中,您只能附加
<代码>小时
分钟
不起作用。
select to_char(sysdate, 'YYYY') as year, 
       to_char(sysdate, 'MM') as month, 
       to_char(sysdate, 'DD') as day,
       to_char(sysdate, 'HH24') as hour,
       to_char(sysdate, 'MI') as minute
from dual