我想实现的功能是:查询每日01-08,08-16,16-24点时间段
我想先求出日期然后加小时数再比较
select to_date(to_char(sysdate,'yyyymmdd')||'01','yyyy-mm-dd-hh24') from dual
这个的结果是 30-5月 -08
我想查到的结果是 30-5月-08 01(01是小时数)
不知道我表达的大家能看明白不?
就是想取小时。
请高手指点一下!帮下个SQL语句。
先谢谢了。在线等!30分感谢~~~
我想先求出日期然后加小时数再比较
select to_date(to_char(sysdate,'yyyymmdd')||'01','yyyy-mm-dd-hh24') from dual
这个的结果是 30-5月 -08
我想查到的结果是 30-5月-08 01(01是小时数)
不知道我表达的大家能看明白不?
就是想取小时。
请高手指点一下!帮下个SQL语句。
先谢谢了。在线等!30分感谢~~~
select trunc(to_number(to_char(sysdate,'hh24'))/3) from dual
出来0就是0-7:59
1就是8-15:59
2就16:-23:59
from 表名
group by trunc(to_number(to_char(sysdate,'hh24'))/3)
我数据库里的数据是每小时一条。
我查询时是查询的天数,每8小时走一个汇总。
我现在就是想写汇总那条记录的WHERE条件
查询输入的就是个日期,比如:2008-5-30
我要根据这个日期取出他0-7:59 ,8-15:59 ,16:-23:59。三个时间段的汇总。
所以汇总那条记录要有个时间段的查询条件。
就是请问这个WHERE条件怎么写?
where trunc(to_number(to_char(sysdate,'hh24'))/3)=0就是0-7:59的啊trunc(to_number(to_char(sysdate,'hh24'))/3)=1 就是8-15:59
l;TO_CHAR(TRUNC
-------------
2008-05-30 01
WHEN TO_CHAR(DATE, 'hh24') BETWEEN '01' AND '07' THEN
统计数据 ELSE 0
END),
SUM(CASE
WHEN TO_CHAR(DATE, 'hh24') BETWEEN '08' AND '15' THEN
统计数据 ELSE 0
END),
SUM(CASE
WHEN TO_CHAR(DATE, 'hh24') BETWEEN '06' AND '24' THEN
统计数据 ELSE 0
END)
要不就这样,但是不是按照你的那个分组
感谢各位的帮忙
特别是hebo2005
已经帮我两次了
嘿嘿!