登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

杨柳千丝,绊惹春风

普通人日记

 
 
 

日志

 
 
关于我

性格还算开朗,为人还算不错。 长相一般,身高一般,能力一般,人是一般。 不会浪漫,不会情调,不会唱歌,不会跳舞,不会吸烟,不爱喝酒,不会开车,爱听老歌

SQL 星期过滤方法  

2010-04-22 09:51:17|  分类: 技术 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 在所有统计数据中,以规律性周期过滤每个星期中的某几天,如周六、周日。具体如下:
create table t(s date,e date);
insert into t values(to_date('2003-03-01','yyyy-mm-dd'),to_date('2003-03-01','yyyy-mm-dd'));
insert into t values(to_date('2003-03-04','yyyy-mm-dd'),to_date('2003-03-05','yyyy-mm-dd'));
insert into t values(to_date('2003-03-06','yyyy-mm-dd'),to_date('2003-03-06','yyyy-mm-dd'));
insert into t values(to_date('2003-03-11','yyyy-mm-dd'),to_date('2003-03-11','yyyy-mm-dd'));
insert into t values(to_date('2003-03-21','yyyy-mm-dd'),to_date('2003-03-22','yyyy-mm-dd'));
insert into t values(to_date('2003-03-29','yyyy-mm-dd'),to_date('2003-03-30','yyyy-mm-dd'));

--过滤星期
select to_char(s,'d') from t where to_char(s,'d') not in (1,7);

--比较不过滤情况
select to_char(s,'d') from t;

--根据时间点确定该时间点属月的第一天与最后一天日期
 select last_day(to_date('2010-03-05','YYYY-MM-DD')) last_day,last_day( add_months( to_date('2010-03-05','YYYY-MM-DD'),-1))+1 first_day from dual;
输出:

LAST_DAY       FIRST_DAY
-------------- --------------
31-3月 -10     01-3月 -10

--根据时间点确定该时间点所属本周的周一和周日等
周一:select trunc(next_day(sysdate - 8, 1) + 1) from dual;
周二:select trunc(next_day(sysdate - 8, 1) + 2) from dual;
周三:select trunc(next_day(sysdate - 8, 1) + 3) from dual;
周 四:select trunc(next_day(sysdate - 8, 1) + 4) from dual;
周五:select trunc(next_day(sysdate - 8, 1) + 5) from dual;
周六:select trunc(next_day(sysdate - 8, 1) + 6) from dual;
周 日:select trunc(next_day(sysdate - 8, 1) + 7) from dual;
oracle日期时间的加减法
加法 
 select sysdate,add_months(sysdate,12) from dual;        --加1年
 select sysdate,add_months(sysdate,1) from dual;        --加1月
 select sysdate,to_char(sysdate+7,'yyyy-mm-dd HH24:MI:SS') from dual;   --加1星期
 select sysdate,to_char(sysdate+1,'yyyy-mm-dd HH24:MI:SS') from dual;   --加1天
 select sysdate,to_char(sysdate+1/24,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1小时
 select sysdate,to_char(sysdate+1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1分钟
 select sysdate,to_char(sysdate+1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual;  --加1秒

减法
 select sysdate,add_months(sysdate,-12) from dual;        --减1年
 select sysdate,add_months(sysdate,-1) from dual;        --减1月
 select sysdate,to_char(sysdate-7,'yyyy-mm-dd HH24:MI:SS') from dual;   --减1星期
 select sysdate,to_char(sysdate-1,'yyyy-mm-dd HH24:MI:SS') from dual;   --减1天
 select sysdate,to_char(sysdate-1/24,'yyyy-mm-dd HH24:MI:SS') from dual;  --减1小时
 select sysdate,to_char(sysdate-1/24/60,'yyyy-mm-dd HH24:MI:SS') from dual;  --减1分钟
 select sysdate,to_char(sysdate-1/24/60/60,'yyyy-mm-dd HH24:MI:SS') from dual;  --减1秒




  评论这张
 
阅读(467)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018