查找从下周开始未来N个星期一的日期
解决方案 »
- 各位侠客,我请问个问题,刚oracle9i里我建错了一些表和试图,索引什么的
- 求助RHEL下安装Oracle 11gr2的问题。
- 时间转变问题
- Insert 性能问题
- select语句中的where条件里面怎样加一个判断?
- sql语句表连接问题,谢谢各位大哥了
- 如何程序(最好是c#)调用oracle数据库来实现取回第一行第一列数据(比如取表中某列最大值等等),其和Sql server有相同功能实现有何差别
- 请问如何在触发器中取当前要插入纪录的日期字段并进行格式转化
- 新的開始
- 如何学习oracle 目前登陆不上去
- 要进入SQLPLUS之前必须启动哪些服务啊??请指点
- 谁帮我解释下什么是分析函数,开窗函数,聚合函数
select trunc(sysdate,'w')+1+n*7 from dual--获取n个周后的周一
--比如获得两周后的周一的日期
SQL> select trunc(sysdate,'w')+1+2*7 from dual;TRUNC(SYSD
----------
2011-06-06
--上面给出的是从这个周一之后的任一周的周一的求法
--下面是你想要的,下周开始未来N个星期一的日期
--其实道理都差不多,就是截取本周的周一,然后加上8天,就得到下一个周周一的日期,
--最后加上你想要的周*天数,就得到了结果,1周=7天:
SQL> select trunc(sysdate,'w')+8 from dual;TRUNC(SYSD
----------
2011-05-30
select trunc(sysdate,'w')+8+n*7 from dual--获取下走之后的n个周的周一
SQL> select trunc(sysdate,'w')+8+1*7 from dual;TRUNC(SYSD
----------
2011-06-06
SQL> SELECT trunc(SYSDATE, 'd') + 1 + LEVEL * 7 monday
2 FROM dual
3 CONNECT BY LEVEL <= 10;MONDAY
----------
2011-05-30
2011-06-06
2011-06-13
2011-06-20
2011-06-27
2011-07-04
2011-07-11
2011-07-18
2011-07-25
2011-08-01已选择10行。SQL>