SELECT (TRUNC(SYSDATE - 6) + ROWNUM - 1) AS DAYNAME FROM DUAL CONNECT BY ROWNUM <= 7
代码如下: —
Oracle
取上周一到周末的
sql
— 这样取的是 在一周内第几天,是以周日为开始的 select to_char(to_date(‘20130906′,’yyyymmdd’),’d’) from dual; –结果:6 注释:2013.09.06是周五,为本周的第六天 select to_char(sysdate+(2-to_char(sysdate,’d’))-7,’yyyymmdd’) from dual;—上周一 select to_char(sysdate+(2-to_char(sysdate,’d’))-1,’yyyymmdd’) from dual;—上周日 —
一、创建一张GGHOLIDAY表并insert部分数据
①表中holiday字段长度为31,holiday字段:W-正常周末 H-全天假期 D-半天假期 X-这个月不存在这天 .-正常工作日'。
-- Create table
crea...
一直都没写过
Oracle
的存储过程,今天突然来了一个需求:计算指定
日期
的前N个工作日或者后N个工作日
日期
(去除周末,法定节假日无法计算),
然后研究了一下
Oracle
的时间函数和循环方法。具体实现方法如下,也没啥难的,对数据库没研究过,也不知道下面的写法效率怎么样。
或者有没有更好的写法。o(︶︿︶)o 唉!
create or replace procedure proc_...
1、查从今天开始前七天
日期
select to_char (sysdate- level + 1, 'yyyy-mm-dd') today FROM DUAL connect BY LEVEL <= 7
2、写统计语句,将数量和
日期
查出来(这个分组统计自己写)
3、用第一步和第二步两张表做左关联查询 ,没有的数量用0代替(刚好这几天都有数据,没有的会以0展示出来)
1) NV...
1任意7天的数据
select * from JK_LOGANALYIZE_USERUSAGE where trunc(time) >= trunc((select max(time) from JK_LOGANALYIZE_USERUSAGE),'d')
and trunc(time) <= next_day(trunc((select max(time) from JK_LOGANALYIZE_USERUSAGE),'d'),7)
2.最近一天的数据
select * from JK_SE