Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 一周内完成所有约会_Sql_Oracle_Oracle10g - Fatal编程技术网

Sql 一周内完成所有约会

Sql 一周内完成所有约会,sql,oracle,oracle10g,Sql,Oracle,Oracle10g,当我从dual中选择日期时。我必须用天来显示特定星期的所有日期 首先,我使用 select to_char(sysdate,'iw') FROM dual 通过使用周数,我想得到该周的所有日期。我用过这个 SELECT (TRUNC ( TO_DATE (SUBSTR ('201704', 1, 4) || '0131', 'YYYY'|| 'MMDD'), 'IYYY') + ( 7 * ( TO_NUMBER (SUBSTR ('201704

当我从dual中选择日期时。我必须用天来显示特定星期的所有日期

首先,我使用

select to_char(sysdate,'iw') FROM dual
通过使用周数,我想得到该周的所有日期。我用过这个

SELECT (TRUNC ( TO_DATE (SUBSTR ('201704', 1, 4) 
         || '0131', 'YYYY'|| 'MMDD'), 'IYYY') +
              ( 7 * ( TO_NUMBER (SUBSTR ('201704', 5)) - 1)) ) AS iw
FROM   DUAL

我的输入是sysdate

我必须得到如下的订单

23-Jan-2017
24-Jan-2017
25-Jan-2017
26-Jan-2017
27-Jan-2017
28-Jan-2017
29-Jan-2017
试试这个:

select trunc(sysdate,'IW') + level - 1
from dual
connect by level <= 7;
选择trunc(sysdate,'IW')+级别-1
来自双重

按级别连接代码在哪里?请看:来吧——当你发布一个家庭作业问题时,你必须包括你所写的代码,告诉我们你期望的结果,你得到了什么,以及你得到的有什么问题。否则你就不走运了。C'mon先生请检查nw并感谢你的反馈我的输入是sysdate所需的输出是本周的日期从我手动输入的表中选择trunc('04-Apr-2017','W'))+通过双连接逐级连接,但它不工作-您的意思是您遇到了错误吗?请把日期贴在这里?您是否使用了to_date功能?但它只在星期六到星期五,我需要从星期一到星期天检查此选择trunc(to_date('2017年9月28日'),'W')+级别从dual connect by level您错误地修改了查询。使用
从dual CONNECT BY level中选择TRUNC(截止日期('2017年9月28日')、'IW')+level-1
select trunc(to_date('10-Feb-2017','dd-Mon-yyyy'),'IW') + level - 1
from dual
connect by level <= 7;
with t(dt) as (
  select to_date('23-Jan-2017','dd-Mon-yyyy') from dual union all
  select to_date('01-Mar-2017','dd-Mon-yyyy') from dual
)
-- test data ends here

select dt, trunc(dt,'IW') + n dt2
from t cross join (
      select level - 1 n
      from dual
      connect by level <= 7
);