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

oracle 取某个时间段的数据(每周几的上午几点到几点)

程序员文章站 2022-04-01 09:17:39
oracle 取某个时间段的数据,具体代码如下所示: select count(*),t.分组字段 from ( select t.* ,to_char(t.时间,'hh2...

oracle 取某个时间段的数据,具体代码如下所示:

select count(*),t.分组字段 from (
select t.* ,to_char(t.时间,'hh24') stime,to_char(t.时间,'hh24mi') fz,to_char(时间,'d') 
from a t
where 时间>=to_date('2019-12-01','yyyy-mm-dd') and ghsj<=to_date('2019-12-31','yyyy-mm-dd') and to_char(时间,'d')='2'
) where stime in ('08','09','10','11','12') and fz>=0800 a 
group by t.分组字段

to_char(时间,'d') 取当前时间是星期几 每星期第一天为周日

to_char(t.时间,'hh24mi') 取当前时间的小时分

o_char(t.时间,'hh24') 取当前时间的小时

ps:oracle 同一个数据有多条记录,根据条件取时间最大的那一条

1.第一种方式

select max(t1.invalid_time) from t_customer t1 where t1.customer_code = '5101'

1.第二种方式

select invalid_time from (select * from t_customer where customer_code='5101' order by invalid_time desc) where rownum =1

1.第三种方式

select invalid_time from t_customer t where invalid_time=(select max(invalid_time) from t_customer where customer_code='5101') and rownum =1 

5.不过滤存在多条最大时间

select invalid_time from t_customer t wheret.invalid_time = (select max(t1.invalid_time) from t_customer t1 where t1.customer_code = '5101')

总结

以上所述是小编给大家介绍的oracle 取某个时间段的数据(每周几的上午几点到几点),希望对大家有所帮助!