如何取上周4的日期值
作者: lastwinner(http://lastwinner.itpub.net)发表于: 2005.11.04 17:48
分类: Oracle
出处: http://lastwinner.itpub.net/post/7102/44848
---------------------------------------------------------------
RollingPig的回答
select trunc(sysdate, 'D') - 3 from dual;
trunc(sysdate, 'D'), 截取到本周的第一天(0:00)
trunc(sysdate, 'M'), 截取到本月的第一天(0:00)
trunc(sysdate, 'DD'), 截取到本日的0:00
在我们大多数人的国家语言设置中, 每周的第一天是周日.
我的做法
这个也许比较符合我国的习惯
select next_day(sysdate, '星期四')-7*decode(to_char(sysdate, 'Day'),'星期一',1,'星期二',1,'星期三',1,2) xqs from dual;
示例:
SQL> select sysdate-rownum rq, to_char(sysdate-rownum,'DAY') xq, next_day(sysdat
e-rownum, '星期四')-7*decode(to_char(sysdate-rownum, 'Day'),'星期一',1,'星期二',
1,'星期三',1,2) xqs from tabs where rownum<=14;
RQ XQ XQS
------------------- ------ -------------------
2005/11/03 17:10:39 星期四 2005/10/27 17:10:39
2005/11/02 17:10:39 星期三 2005/10/27 17:10:39
2005/11/01 17:10:39 星期二 2005/10/27 17:10:39
2005/10/31 17:10:39 星期一 2005/10/27 17:10:39
2005/10/30 17:10:39 星期日 2005/10/20 17:10:39
2005/10/29 17:10:39 星期六 2005/10/20 17:10:39
2005/10/28 17:10:39 星期五 2005/10/20 17:10:39
2005/10/27 17:10:39 星期四 2005/10/20 17:10:39
2005/10/26 17:10:39 星期三 2005/10/20 17:10:39
2005/10/25 17:10:39 星期二 2005/10/20 17:10:39
2005/10/24 17:10:39 星期一 2005/10/20 17:10:39
2005/10/23 17:10:39 星期日 2005/10/13 17:10:39
2005/10/22 17:10:39 星期六 2005/10/13 17:10:39
2005/10/21 17:10:39 星期五 2005/10/13 17:10:39
rollingpig的解决方法简介高效

向往平静的生活

