欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

oracle实现动态查询前一天早八点到当天早八点的数据功能示例

程序员文章站 2022-03-14 18:36:32
本文实例讲述了oracle实现动态查询前一天早八点到当天早八点的数据。分享给大家供大家参考,具体如下: 需要查询前一天早八点到当天早八点的数据 这里是查询sql语句 se...

本文实例讲述了oracle实现动态查询前一天早八点到当天早八点的数据。分享给大家供大家参考,具体如下:

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

这里是查询sql语句

select
  dept_id,
  count( * ) did
from
  "mes_mach_call_event"
where
  call_time >= trunc(sysdate-1)+8/24
  and call_time <= trunc(sysdate)+8/24
group by
  dept_id

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

select trunc(sysdate)+8/24 from dual;
select trunc(sysdate-1)+8/24 from dual;

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

其中trunc函数的用法为

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

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

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

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

示例:

select trunc(sysdate) from dual;–2017/2/13,返回当前时间 
select trunc(sysdate,'yy') from dual;–2017/1/1,返回当年第一天 
select trunc(sysdate,'mm') from dual;–2017/2/1,返回当月的第一天 
select trunc(sysdate,'d') from dual;–2017/2/12,返回当前星期的第一天,即星期天 
select trunc(sysdate,'dd') from dual;–2017/2/13,返回当前日期,今天是2017/2/13 
select trunc(sysdate ,'hh24') from dual;–2017/2/13 15:00:00,返回本小时的开始时间 
select trunc(sysdate ,'mi') from dual;–2017/2/13 15:13:00,返回本分钟的开始时间

相关标签: oracle 动态查询