暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle 从工作日获取日期

ASKTOM 2019-07-25
425

问题描述

如何从oracle中的工作日名称中获取日期?

例如: 选择to_char(sysdate-1,“天”) 昨天,
今天,
to_char(sysdate 1,'day ') 明天从对偶;

专家解答

您无法将日期名称本地转换为日期,因为显然它并不是真正的决定性-您是说那一天已经过去了吗?或者下一个发生的事情等等。所以我们出错了


SQL> select to_date('THURSDAY','DAY') from dual;
select to_date('THURSDAY','DAY') from dual
               *
ERROR at line 1:
ORA-01835: day of week conflicts with Julian date


但是,如果您想将候选人日期与日期名称匹配,则可以执行一些SQL来处理

SQL> variable myday varchar2(10)
SQL> exec :myday := 'THURSDAY'

PL/SQL procedure successfully completed.

SQL>
SQL> with week as (
  2  select sysdate-rownum+1 dy,
  3         to_char(sysdate-rownum+1,'FMDAY') nm,
  4         case rownum
  5           when 1 then 'TODAY'
  6           when 2 then 'YESTERDAY'
  7           when 3 then 'DAY BEFORE YESTERDAY'
  8         end txt
  9  from dual
 10  connect by rownum < 7
 11  )
 12  select * from week where nm = :myday;

DY        NM                                   TXT
--------- ------------------------------------ ------------------
25-JUL-19 THURSDAY                             YESTERDAY


文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论