这篇文章给大家分享的是有关oracle怎么实现动态查询前一天早八点到当天早八点的数据功能的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

需要查询前一天早八点到当天早八点的数据

这里是查询sql语句

SELECTDEPT_ID,COUNT(*)DIDFROM"MES_MACH_CALL_EVENT"WHERECALL_TIME>=trunc(sysdate-1)+8/24ANDCALL_TIME<=trunc(sysdate)+8/24GROUPBYDEPT_ID

现在单独来看一下获取系统当天八点和前一天八点的方法

SELECTtrunc(sysdate)+8/24FROMDUAL;SELECTtrunc(sysdate-1)+8/24FROMDUAL;

+8/24为24小时制中的早八点

其中trunc函数的用法为

【trunc(for dates)】TRUNC()函数处理日期

语法格式:TRUNC(date[,fmt])

其中:date 一个日期值;fmt 日期格式。

该日期将按指定的日期格式截取;忽略它则由最近的日期截取。

示例:

selecttrunc(sysdate)fromdual;–2017/2/13,返回当前时间selecttrunc(sysdate,'yy')fromdual;–2017/1/1,返回当年第一天selecttrunc(sysdate,'mm')fromdual;–2017/2/1,返回当月的第一天selecttrunc(sysdate,'d')fromdual;–2017/2/12,返回当前星期的第一天,即星期天selecttrunc(sysdate,'dd')fromdual;–2017/2/13,返回当前日期,今天是2017/2/13selecttrunc(sysdate,'HH24')fromdual;–2017/2/1315:00:00,返回本小时的开始时间selecttrunc(sysdate,'MI')fromdual;–2017/2/1315:13:00,返回本分钟的开始时间

感谢各位的阅读!关于“oracle怎么实现动态查询前一天早八点到当天早八点的数据功能”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!