Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.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
Oracle 甲骨文:上个月的最后一个星期五_Oracle - Fatal编程技术网

Oracle 甲骨文:上个月的最后一个星期五

Oracle 甲骨文:上个月的最后一个星期五,oracle,Oracle,这将给我本月上周五。上个月上周五我需要一份工作 您即将结束,只需使用如下添加月份: 1.与今天相比。 2.在最后一天得到静电 您即将结束,只需按如下方式使用添加月份: 1.与今天相比。 2.在最后一天得到静电 您可以执行下面的查询 我的逻辑是: 1-获取上个月的最后一天 2-从第1项的日期开始获取星期几 3-一些逻辑与案例,以获得愿望日期 select dt from( SELECT to_char(last_day(add_months(sysdate,-1)),'DD MONTH, YYYY

这将给我本月上周五。上个月上周五我需要一份工作

您即将结束,只需使用如下添加月份:

1.与今天相比。 2.在最后一天得到静电
您即将结束,只需按如下方式使用添加月份:

1.与今天相比。 2.在最后一天得到静电
您可以执行下面的查询

我的逻辑是:

1-获取上个月的最后一天

2-从第1项的日期开始获取星期几

3-一些逻辑与案例,以获得愿望日期

select dt
from(
SELECT to_char(last_day(add_months(sysdate,-1)),'DD MONTH, YYYY') dt,
        to_char(last_day(add_months(sysdate,-1))-level,'DAY') dy
  FROM DUAL
  connect by rownum <= 7
) where trim(dy) = 'FRIDAY'

您可以执行下面的查询

我的逻辑是:

1-获取上个月的最后一天

2-从第1项的日期开始获取星期几

3-一些逻辑与案例,以获得愿望日期

select dt
from(
SELECT to_char(last_day(add_months(sysdate,-1)),'DD MONTH, YYYY') dt,
        to_char(last_day(add_months(sysdate,-1))-level,'DAY') dy
  FROM DUAL
  connect by rownum <= 7
) where trim(dy) = 'FRIDAY'

您不需要\u CHAR-只需将值作为日期数据类型返回。感谢您指出,但在问题中,他/她曾\u CHAR指定了输出格式。您不需要\u CHAR-只需将值作为日期数据类型返回。感谢您指出,但在这个问题上,他/她习惯于指定输出格式,即why.ALTER SESSION SET NLS_TERRITORY='dank';您的查询给出了错误的日期或任何NLS_区域,其中周日不是一周的第一天;您的查询给出了错误的日期或任何NLS_地区,其中周日不是一周的第一天。
select dt
from(
SELECT to_char(last_day(add_months(sysdate,-1)),'DD MONTH, YYYY') dt,
        to_char(last_day(add_months(sysdate,-1))-level,'DAY') dy
  FROM DUAL
  connect by rownum <= 7
) where trim(dy) = 'FRIDAY'
select case
         when WLD = 7 then LD-1 -- if Saturday, get previous day
         when WLD = 6 then LD   -- if Friday, then ok
         when WLD = 5 then LD-6 -- if Thursday, get 6 days ago
         when WLD = 4 then LD-5 -- if Wednesday, get 5 days ago
         when WLD = 3 then LD-4 -- if Tuesday, get 4 days ago
         when WLD = 2 then LD-3 -- if Monday, get 3 days ago
         when WLD = 1 then LD-2 -- if Sunday, get 2 days ago
       end as LAST_FRIDAY_LAST_MONTH -- HERE IS THE LAST FRIDAY OF MONTH
  from (          
        select last_day(add_months(trunc(sysdate),-1))               as LD   -- last day of previous month
             , to_char(last_day(add_months(trunc(sysdate),-1)),'D')  as WLD  -- week day of last day of previous month
          from dual
       )