如何在oracle sql中获取小时和分钟?
我想分别获取和显示日期、小时和分钟(3列:日期、小时和分钟) 我的脚本不起作用。如何解决这个问题?多谢各位 下面是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
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