【问题标题】:Show jobs over 3 BUSINESS DAYS old显示超过 3 个工作日的工作
【发布时间】:2020-02-17 16:05:00
【问题描述】:

有人可以就我如何修改 SQL 代码以显示超过 3 个工作日的工作提供任何帮助吗?

我有以下代码:

select
central_enquiry.enquiry_number,
central_enquiry.enquiry_time,
central_enquiry.officer_code,
type_of_service.service_code,
type_of_service.service_name,
enquiry_subject. subject_code,
enquiry_subject.subject_name,
central_site.site_name,
central_enquiry.enquiry_address,
central_enquiry.enquiry_desc,
enquiry_status.enq_status_code,
enquiry_status.enq_status_name,
central_enquiry.log_effective_date,
central_enquiry.follow_up_date,

CASE
when round((SYSDATE - central_enquiry.enquiry_time),2) >=3 then 'Over 3 days'
else ''
end as Days_since_reported


from
central_enquiry
inner join enquiry_subject on enquiry_subject.subject_code = central_enquiry.subject_code
inner join type_of_service on type_of_service.service_code = enquiry_subject.service_code
inner join enquiry_status_log on central_enquiry.enquiry_number = enquiry_status_log.enquiry_number and central_enquiry.enquiry_log_number = enquiry_status_log.enquiry_log_number
inner join enquiry_status on enquiry_status.enq_status_code = enquiry_status_log.enq_status_code
inner join central_site on central_site.site_code = central_enquiry.site_code


where
type_of_service.service_code = 'ECPE' and
round((SYSDATE - central_enquiry.enquiry_time),2) >=3 and
central_enquiry.officer_code = 'BSO' and
central_enquiry.outstanding_flag = 'Y'


order by central_enquiry.enquiry_number

这显示了基于当前日期超过 3 天前记录的所有作业。

where  round((SYSDATE - central_enquiry.enquiry_time),2) >=3 

但是,我希望这仅显示已在 3 个工作日前记录的作业 - 因此,如果作业是在 2 月 13 日星期四记录的 - 它只会在超过同一时间时显示在报告中2 月 18 日星期二。

【问题讨论】:

标签: sql oracle days


【解决方案1】:

您需要按以下方式操作您的条件:

where round((SYSDATE - central_enquiry.enquiry_time),2) 
- case when to_char(SYSDATE,'dy') in ('mon','tue') then 2 else 0 end >=3

干杯!!

【讨论】:

    猜你喜欢
    • 2012-06-16
    • 1970-01-01
    • 2018-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-24
    • 1970-01-01
    • 2015-01-16
    相关资源
    最近更新 更多